WATCHDOG

NAME
SYNOPSIS
FUNCTIONS
PINS
PARAMETERS
LICENSE

NAME

watchdog − monitor multiple inputs for a "heartbeat"

SYNOPSIS

loadrt watchdog num_inputs=N

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.

LICENSE

GPL