Skip to content

Commit 9048b71

Browse files
authored
Merge pull request #134 from open-ephys/issue-94
Motivate heartbeat functionality in breakout
2 parents 3c2860a + 2a87ed5 commit 9048b71

File tree

1 file changed

+13
-11
lines changed

1 file changed

+13
-11
lines changed

articles/hardware/breakout/heartbeat.md

Lines changed: 13 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -5,20 +5,22 @@ hardware: true
55
device: heartbeat
66
---
77

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.
1014

1115
::: workflow
1216
![/workflows/hardware/breakout/heartbeat.bonsai workflow](../../../workflows/hardware/breakout/heartbeat.bonsai)
1317
:::
1418

1519
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

Comments
 (0)