summaryrefslogtreecommitdiff
path: root/docs/man/man9/hm2_7i90.9
blob: f6459aa89c04da7bba25fced34fc6700d584c228 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
.TH HM2_7I90 "9" "2013-10-27" "LinuxCNC Documentation" "HAL Component"
.de TQ
.br
.ns
.TP \\$1
..
.SH NAME

hm2_7i90 \- LinuxCNC HAL driver for the Mesa Electronics 7i90 EPP Anything IO board with HostMot2 firmware.
.SH SYNOPSIS

.HP
.B loadrt hm2_7i90 [ioaddr=\fIN\fB[,\fIN\fB...]] [ioaddr_hi=\fIN\fB[,\fIN\fB...]] [epp_wide=\fIN\fB[,\fIN\fB...]] [debug_epp=\fIN\fB[,\fIN\fB...]]
.RS 4
.TP
\fBioaddr\fR [default: 0x378]
The base address of the parallel port.
.TP
\fBioaddr_hi\fR [default: 0]
The secondary address of the parallel port, used to set EPP mode.
0 means to use ioaddr + 0x400.
.TP
\fBepp_wide\fR [default: 1]
Set to zero to disable the "wide EPP mode".  "Wide" mode allows a 16-
and 32-bit EPP transfers, which can reduce the time spent in the read
and write functions.  However, this may not work on all EPP parallel
ports.
.TP
\fBdebug_epp\fR [default: 0]
Developer/debug use only!  Enable debug logging of most EPP
transfers.
.RE
.SH DESCRIPTION

hm2_7i90 is a device driver that interfaces the Mesa 7i90 board with
the HostMot2 firmware to the LinuxCNC HAL.

The 7i90 firmware is fixed, it is not programmed by the driver at
load time.

The driver talks with the 7i90 over the parallel port, via EPP.

Some parallel ports require special initialization before they can be
used.  LinuxCNC provides a kernel driver that does this initialization
called probe_parport.  Load this driver before loading hm2_7i90, by
putting "loadrt probe_parport" in your .hal file.

The hm2_7i90 driver requires an in-kernel EPP communications API.  This is
provided by the 'epp' driver.  Load this driver before loading hm2_7i90,
by putting 'loadrt epp' in your .hal file.
.SH Communicating with the board

The 7i90 communicates with the LinuxCNC computer over EPP, the Enhanced
Parallel Port.  This provides about 1 MBps of throughput, and the
communication latency is very predictable and reasonably low.

The parallel port must support EPP 1.7 or EPP 1.9.  EPP 1.9 is prefered,
but EPP 1.7 will work too.  The EPP mode of the parallel port is sometimes
a setting in the BIOS.

Note that the popular "NetMOS" aka "MosChip 9805" PCI parport cards \fBdo
not work\fR.  They do not meet the EPP spec, and cannot be reliably used
with the 7i90.  You have to find another card, sorry.

EPP is very reliable under normal circumstances, but bad cabling
or excessively long cabling runs may cause communication timeouts.
The driver exports a parameter named hm2_7i90.<BoardNum>.io_error to
inform HAL of this condition.  When the driver detects an EPP timeout,
it sets io_error to True and stops communicating with the 7i90 board.
Setting io_error back to False makes the driver start trying to
communicate with the 7i90 again.

Access to the EPP bus is not threadsafe: only one realtime thread may
access the EPP bus.
.SH SEE ALSO

hostmot2(9)
.SH LICENSE

GPL