Table of Contents

Breakout Board Heartbeat

ONIX has a single special device, called a heartbeat, that produces data at regular intervals and is always enabled. When data is read from the hardware by software, the reading thread will block until enough data has been produced by the hardware. If no devices are enabled, the software would block forever. The heartbeat prevents this from happening since it is always enabled and always producing data. In practice, you can ignore the heartbeat functionality. In any case, the following excerpt from the Breakout Board example workflow demonstrates how to observe the heartbeat.

/workflows/hardware/breakout/heartbeat.bonsai workflow

The HeartbeatData operator generates a sequence of HeartbeatDataFrames. HeartbeatData emits HeartbeatDataFrames at a regular interval defined during Breakout Board Configuration using the ConfigureBreakoutBoard's Heartbeat BeatsPerSecond property (in our case 10 Hz). The HeartbeatData's DeviceName property is set to "BreakoutBoard/Heartbeat". This links the HeartbeatData operator to the corresponding configuration operator. The MemberSelector operator selects the Clock member from the HeartbeatDataFrame so the user can visualize the number of clock cycles that have passed for a given heartbeat pulse if they double-click the Clock node.