Skip to content

WD: Set Audio Watchdog Timeout

FAST Serial Protocol: Overview & First Steps

This documentation section is about the FAST Serial Protocol (FSP) commands, which are the low-level commands a host computer sends to a FAST board. Most FAST Pinball makers do not need to know about these details, since the pinball game framework (such as the Mission Pinball Framework) handles this communication for you.

If you're writing your own game framework, we have a series of programming guides. Also, be sure to read the overview of how FSP works and how to connect first.

Coming soon!

This section of the documentation is not yet complete and will be coming soon. However, if you need this now, and/or you want to share what documentation is most important to you, please post to the #docs channel in the FAST Pinball Slack community. Thanks!

Set the watchdog timeout period and return the system status. The <DATA> field is 32-bit value in milliseconds. Once the system is up and running, the main host computer (single board computer or Raspberry Pi) system needs to keep sending watchdog messages to keep the watchdog time from expiring. If the watchdog timer reaches zero, the system will either reset or pulse the power (on/off) switch to the main host computer.

The watchdog timer is also used to hold the power on until the watchdog timeout expires. One of the final messages from the host computer should be how long it wants the power held on. Once the audio interface detects the main pinball power has been shut down, the timeout now is used to determine when to shut down power to the amplifier and the devices connected to the 12V Outputs.

When the main pinball power has been removed, it is necessary for the pinball controller to be aware of this so it can set the timeout periods. This command therefore returns a system status. The status is in the form of a bit mask. The bits are defined below:

AUDIO_MAIN_POWER_DETECT_MASK    0b00000001
AUDIO_HEADPHONE_DETECT_MASK 0b00000010

Bit 0 indicates the Pinball machine main power switch is on Bit 1 indicates the Headphones are plugged in Bits 2 - 7 are unused will read 0 until more features are added

Example setting the Watchdog timer to expire in 500ms (0x1F4 in hex)

WD:1F4<CR>

Returns WD:01<CR>

Based on bitmask above, the returned value 0x01 = 0b00000001 indicating main power detected on.

A return of WD:03<CR> would indicate pinball main power detected and headphones plugged in.

A return of WD:00<CR> would indicate no pinball main power detected

This feature can be disabled by not connecting the PC control interface or Raspberry Pi control lines. Also if the watchdog timer is never set, as soon as the pinball main power is shut off, the amplifier and connected 12V loads will also shut off immediately.

N or > jump the next page, P or < for previous, search with S or ?