Support for BiDiB

Watchdog protection

BiDiB provides support for a safe operating state in the situation of a connection breakdown or failure of the control instance. In case of driving generators (e.g. DCC generators), the safe state is 'STOP', because otherwise the vehicles are moving without being monitored.
This is the reason why driving generators are equipped with a built-in watchdog. The status command 'GO' must be be sent permanently to the generator again. If these retransmissions of 'GO' fail, the generator self-sufficient provides a stop action.
The watchdog function is limited to BIDIB_CS_STATE_GO. The other states (_STOP, etc.) are already intrinsically safe and do not need permanent repetition.

This protection applies individually to each generator; each generator implements the watchdog independently. Driving generators (as DCC or car system) do not know per se who is controlling them and who is ultimately responsible for the protection.
Even the bus interface does not know where and how many generators are there in the system.

Example

Assume that the system contains a DCC generator and a generator for model vehicles (e.g. OpenCar). Both generators have set 2s as the watchdog interval.

As a rule (normal operation of both generators) it now makes sense, e.g. in a grid of 1000ms, one generator for each generator Send message BIDIB_CS_STATE_GO.

If one generator should stop now, the other generator must still be supplied with BIDIB_CS_STATE_GO, otherwise its watchdog will respond.