@@ -5,20 +5,22 @@ hardware: true
5
5
device : heartbeat
6
6
---
7
7
8
- The following excerpt from the Breakout Board [ example workflow] ( xref:breakout_workflow )
9
- demonstrates heartbeat functionality.
8
+ ONIX has a single special device, called a heartbeat, that produces data at regular intervals and is always enabled.
9
+ When data is read from the hardware by software, the reading thread will block until enough data has been produced by
10
+ the hardware. If no devices are enabled, the software would block forever. The heartbeat prevents this from happening
11
+ since it is always enabled and always producing data. In practice, you can ignore the heartbeat functionality. In any
12
+ case, the following excerpt from the Breakout Board [ example workflow] ( xref:breakout_workflow ) demonstrates how to
13
+ observe the heartbeat.
10
14
11
15
::: workflow
12
16
![ /workflows/hardware/breakout/heartbeat.bonsai workflow] ( ../../../workflows/hardware/breakout/heartbeat.bonsai )
13
17
:::
14
18
15
19
The < xref:OpenEphys.Onix1.HeartbeatData > operator generates a sequence of
16
- < xref:OpenEphys.Onix1.HeartbeatDataFrame > s. ` HeartbeatData ` emits ` HeartbeatDataFrame ` s at a regular
17
- interval defined during < xref:breakout_configuration > using the
18
- < xref:OpenEphys.Onix1.ConfigureBreakoutBoard > 's ` Heartbeat BeatsPerSecond ` property (in our case 10
19
- Hz). In the Breakout Board example workflow, the ` HeartbeatData ` 's ` DeviceName ` property is set to
20
- "BreakoutBoard/Heartbeat". This links the ` HeartbeatData ` operator to the corresponding
21
- configuration operator. The
22
- [ MemberSelector] ( https://bonsai-rx.org/docs/api/Bonsai.Expressions.MemberSelectorBuilder.html )
23
- operator selects the ` Clock ` member from the ` HeartbeatDataFrame ` so the user can visualize ` Clock `
24
- data from the ` HeartbeatDataFrame ` .
20
+ [ HeartbeatDataFrames] ( xref:OpenEphys.Onix1.HeartbeatDataFrame ) . ` HeartbeatData ` emits ` HeartbeatDataFrames ` at a regular
21
+ interval defined during < xref:breakout_configuration > using the < xref:OpenEphys.Onix1.ConfigureBreakoutBoard > 's
22
+ ` Heartbeat BeatsPerSecond ` property (in our case 10 Hz). The ` HeartbeatData ` 's ` DeviceName ` property is set to
23
+ "BreakoutBoard/Heartbeat". This links the ` HeartbeatData ` operator to the corresponding configuration operator. The
24
+ [ MemberSelector] ( https://bonsai-rx.org/docs/api/Bonsai.Expressions.MemberSelectorBuilder.html ) operator selects the
25
+ ` Clock ` member from the ` HeartbeatDataFrame ` so the user can visualize the number of clock cycles that have passed for
26
+ a given heartbeat pulse if they double-click the ` Clock ` node.
0 commit comments