diff --git a/articles/hardware/breakout/heartbeat.md b/articles/hardware/breakout/heartbeat.md index c52fe11..cc7b860 100644 --- a/articles/hardware/breakout/heartbeat.md +++ b/articles/hardware/breakout/heartbeat.md @@ -5,20 +5,22 @@ hardware: true device: heartbeat --- -The following excerpt from the Breakout Board [example workflow](xref:breakout_workflow) -demonstrates heartbeat functionality. +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](xref:breakout_workflow) demonstrates how to +observe the heartbeat. ::: workflow ![/workflows/hardware/breakout/heartbeat.bonsai workflow](../../../workflows/hardware/breakout/heartbeat.bonsai) ::: The operator generates a sequence of -s. `HeartbeatData` emits `HeartbeatDataFrame`s at a regular -interval defined during using the -'s `Heartbeat BeatsPerSecond` property (in our case 10 -Hz). In the Breakout Board example workflow, the `HeartbeatData`'s `DeviceName` property is set to -"BreakoutBoard/Heartbeat". This links the `HeartbeatData` operator to the corresponding -configuration operator. The -[MemberSelector](https://bonsai-rx.org/docs/api/Bonsai.Expressions.MemberSelectorBuilder.html) -operator selects the `Clock` member from the `HeartbeatDataFrame` so the user can visualize `Clock` -data from the `HeartbeatDataFrame`. \ No newline at end of file +[HeartbeatDataFrames](xref:OpenEphys.Onix1.HeartbeatDataFrame). `HeartbeatData` emits `HeartbeatDataFrames` at a regular +interval defined during using the '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](https://bonsai-rx.org/docs/api/Bonsai.Expressions.MemberSelectorBuilder.html) 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. \ No newline at end of file