summaryrefslogtreecommitdiff
path: root/docs/man/man9/watchdog.9
blob: b1b23010fb05c8e032e570311e074653ce9f0632 (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
.TH WATCHDOG "9" "2010-06-22" "LinuxCNC Documentation" "HAL Component"
.de TQ
.br
.ns
.TP \\$1
..

.SH NAME

watchdog \- monitor multiple inputs for a "heartbeat"
.SH SYNOPSIS
.HP
.B loadrt watchdog num_inputs=\fIN\fR
.P
You must specify the number of inputs, from 1 to 32.  Each input has a 
separate timeout value.
.SH FUNCTIONS
.TP
\fBprocess\fR
Check all input pins for transitions, clear the \fBok-out\fR pin if any
input has no transition within its timeout period.  This function does not
use floating point, and should be added to a fast thread.
.TP
\fBset-timeouts\fR
Check for timeout changes, and convert the float timeout inputs to int
values that can be used in \fBprocess\fR.  This function also monitors
\fBenable-in\fR for false to true transitions, and re-enables monitoring
when such a transition is detected.  This function does use floating point, 
and it is appropriate to add it to the servo thread.
.SH PINS
.TP
.B watchdog.input-n\fR bit in\fR
Input number n.  The inputs are numbered from 0 to \fBnum_inputs\fR-1.
.TP
.B watchdog.enable-in\fR bit in \fR(default: \fIFALSE\fR)
If TRUE, forces out-ok to be false.  Additionally, if a timeout occurs on
any input, this pin must be set FALSE and TRUE again to re-start the
monitoring of input pins.
.TP
.B watchdog.ok-out\fR bit out \fR(default: \fIFALSE\fR)
OK output.  This pin is true only if enable-in is TRUE and no timeout has
been detected.  This output can be connected to the enable input of a 
\fBcharge_pump\fR or \fBstepgen\fR (in v mode), to provide a heartbeat signal
to external monitoring hardware.
.SH PARAMETERS
.TP
.B
.B watchdog.timeout-n\fR float in\fR
Timeout value for input number n.  The inputs are numbered from 0 to 
\fBnum_inputs\fR-1.  The timeout is in seconds, and may not be below zero.
Note that a timeout of 0.0 will likely prevent \fBok-out\fR from ever becoming
true.  Also note that excessively long timeouts are relatively useless for
monitoring purposes.
.SH LICENSE

GPL