Skip to content

Commit 2e77186

Browse files
authored
Merge pull request #106 from open-ephys/issue-89
Add content on why port status is helpful
2 parents 47fba48 + 71ba20e commit 2e77186

File tree

1 file changed

+20
-4
lines changed

1 file changed

+20
-4
lines changed
Lines changed: 20 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,36 @@
11
<p>
2-
The following excerpt from the {{{hardware}}} <a class="xref" href="~/articles/hardware/{{{oe.hardwareDirectory}}}/overview.html">example workflow</a> demonstrates port status functionality and saves timestamped port status data.
2+
The Onix system reports when a headstage port connection enters or leaves an aberrant state. Such aberrant states include loss
3+
of communication lock, detection of parity or CRC error, reception of a badly formatted packet, etc.. Knowing the time
4+
and type of a communication failure is a good first step to track down its cause. The following excerpt from the
5+
{{{hardware}}} <a class="xref" href="~/articles/hardware/{{{oe.hardwareDirectory}}}/overview.html">example
6+
workflow</a> demonstrates port status functionality and saves timestamped port status data.
37
</p>
48

59
<div class="workflow">
610
<p><img src="~/workflows/{{{oe.path}}}.bonsai" alt="~/workflows/{{{oe.path}}}.bonsai workflow"></p>
711
</div>
812

913
<p>
10-
The {{{hardware}}} reports when a port connection enters or leaves an aberrant state via the <a class="xref" href="~/api/OpenEphys.Onix1.PortStatus.html">PortStatus</a> operator, which generates a sequence of <a class="xref" href="~/api/OpenEphys.Onix1.PortStatus.html">PortStatusFrame</a>s. Events that cause the <code>PortStatus</code> to emit a <code>PortStatusFrame</code> include the SERDES losing or gaining lock, SERDES failing or passing parity check, or the <a class="xref" href="~/api/OpenEphys.Onix1.PortStatusCode.html">PortStatusCode</a> changing value. The <code>DeviceName</code> is set to "{{{hardwareOperator}}}/PortController". This links the <code>PortStatus</code> operator to the corresponding configuration operator.
14+
Headstage port status data is produced in Bonsai by the <a class="xref"
15+
href="~/api/OpenEphys.Onix1.PortStatus.html">PortStatus</a> operator which generates a sequence of <a class="xref"
16+
href="~/api/OpenEphys.Onix1.PortStatusFrame.html">PortStatusFrames</a>. <code>PortStatus</code> emits a
17+
<code>PortStatusFrame</code> whenever <a class="xref"
18+
href="~/api/OpenEphys.Onix1.PortStatusCode.html">PortStatusCode</a> changes value. <code>PortStatus</code>'s
19+
<code>DeviceName</code> property is set to "{{{hardwareOperator}}}/PortController". This links the
20+
<code>PortStatus</code> operator to the breakout board's port controller.
1121
</p>
1222

1323
<p>
14-
The <a class="xref" href="https://bonsai-rx.org/docs/api/Bonsai.Reactive.Timestamp.html">TimeStamp</a> operator generates a sequence of timestamped items from its input sequence. The <a class="xref" href="https://bonsai-rx.org/docs/api/Bonsai.IO.CsvWriter.html">CsvWriter</a> operator writes <code>Timestamp</code> as well as <code>Clock</code>, <code>StatusCode</code>, <code>SerdesLocked</code>, and <code>SerdesPass</code> members from <code>PortStatusFrame</code> to a file with the following name format: <code>port-status_&lt;timestamp&gt;.csv</code>.
24+
The <a class="xref" href="https://bonsai-rx.org/docs/api/Bonsai.Reactive.Timestamp.html">TimeStamp</a> operator
25+
generates a sequence of UTC timestamped items from its input sequence. The <a class="xref"
26+
href="https://bonsai-rx.org/docs/api/Bonsai.IO.CsvWriter.html">CsvWriter</a> operator writes <code>Timestamp</code> as
27+
well as <code>Clock</code> and <code>StatusCode</code> members from <code>PortStatusFrame</code> to a file with the
28+
following name format: <code>port-status_&lt;timestamp&gt;.csv</code>.
1529
</p>
1630

1731
<div class="NOTE alert alert-info">
1832
<h5>NOTE</h5>
19-
<p>The <code>PortStatus</code> datastream is always enabled. <code>{{{configureHardwareOperator}}}</code> has no <code>Enable</code> property for the <code>PortStatus</code> operator like other Data I/O operators that can be used with the {{{hardware}}}.</p>
33+
<p>The <code>PortStatus</code> datastream is always enabled. <code>{{{configureHardwareOperator}}}</code> has no
34+
<code>Enable</code> property for the <code>PortStatus</code> operator like other Data I/O operators that can be used
35+
with the {{{hardware}}}.</p>
2036
</div>

0 commit comments

Comments
 (0)