.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