WATCHDOG

NAME

SYNOPSIS

You must
specify the number of inputs, from 1 to 32. Each input has a
separate timeout value.

FUNCTIONS

process

Check all input pins for
transitions, clear the ok−out 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.

set−timeouts

Check for timeout changes, and
convert the float timeout inputs to int values that can be
used in process. This function also monitors
enable−in 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.

PINS

watchdog.input−n
bit in

Input number n. The inputs are
numbered from 0 to num_inputs−1.

watchdog.enable−in
bit in (default: FALSE)

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.

watchdog.ok−out
bit out (default: FALSE)

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 charge_pump or stepgen (in v mode), to
provide a heartbeat signal to external monitoring
hardware.

PARAMETERS

watchdog.timeout−n
float in

Timeout value for input number
n. The inputs are numbered from 0 to
num_inputs−1. The timeout is in seconds, and
may not be below zero. Note that a timeout of 0.0 will
likely prevent ok−out from ever becoming true.
Also note that excessively long timeouts are relatively
useless for monitoring purposes.