@@ -19,15 +19,20 @@ when a pin, button, or switch is toggled). The digital input ports on the Breako
19
19
but are also 5V tolerant. In the Breakout Board example workflow, the ` DigitalInput ` 's ` DeviceName ` property is set to
20
20
"BreakoutBoard/DigitalInput". This links the ` DigitalInput ` operator to the corresponding configuration operator.
21
21
22
- The [ CsvWriter] ( xref:Bonsai.IO.CsvWriter ) operator writes the ` Clock ` , ` DigitalInputs ` , and ` Buttons ` members from the
23
- ` DigitalInputDataFrame ` to a file with the following name format: ` digital-input_<filecount>.csv ` . Because ` CsvWriter `
24
- is a _ sink_ operator, its output sequence is equivalent to its input sequence. In other words, its output is equivalent
25
- to ` DigitalInput ` 's output. Therefore, it's possible to use
26
- [ MemberSelector] ( xref:Bonsai.Expressions.MemberSelectorBuilder ) operators on the ` CsvWriter ` to select members from
27
- ` DigitalInputDataFrame ` . This is most easily performed by clicking the relevant members that appear by hovering over the
28
- "Output" option that appears in the context menu that appears after right-clicking the ` CsvWriter ` node. The members
29
- selected in the workflow, < xref:OpenEphys.Onix1.DigitalPortState > and < xref:OpenEphys.Onix1.BreakoutButtonState > , are
30
- enumerators with values that correspond to bit positions of the breakout board's digital ports. When ` DigitalPortState `
31
- or ` OpenEphys.Onix1.BreakoutButtonState ` is connected to a ` HasFlags ` operator, the names that appear in the
32
- ` HasFlags ` 's ` Value ` property's dropdown menu correspond to bit positions in the respective digital input port. In this
33
- workflow, the top ` HasFlags ` operator checks if ` Triangle ` or ` X ` are ` True ` .
22
+ ` Clock ` , ` DigitalInputs ` , and ` Buttons ` are all members of ` DigitalInputDataFrame ` which are each
23
+ selected by a [ MemberSelector] ( xref:Bonsai.Expressions.MemberSelectorBuilder ) operator. They contain
24
+ the < xref:OpenEphys.Onix1.ContextTask.AcquisitionClockHz > -based sample times, digital port status,
25
+ and buttons' status, respectively. The [ MatrixWriter] ( xref:Bonsai.Dsp.MatrixWriter ) operators save
26
+ the selected members to files with the following format: ` digital-clock_<filecount>.raw ` , and
27
+ ` digital-pins_<filecount>.raw ` , and ` digital-buttons_<filecount>.raw ` , respectively.
28
+
29
+ Because ` MatrixWriter ` is a _ sink_ operator, its output sequence is equivalent to its input
30
+ sequence. For example, the output of the ` MatrixWriter ` connected to ` Button ` is equivalent to
31
+ ` Button ` 's output. Therefore, it's possible to process digital data by branching directly off the
32
+ ` MatrixWriter ` operators. The selected ` DigitalInputs ` and ` Buttons ` members are both enumerator
33
+ types: < xref:OpenEphys.Onix1.DigitalPortState > and < xref:OpenEphys.Onix1.BreakoutButtonState > ,
34
+ respectively. Enumerators assign names to values. When ` DigitalPortState ` or ` BreakoutButtonState `
35
+ is connected to a ` HasFlags ` operator, these names appear in the ` HasFlags ` 's ` Value ` property's
36
+ dropdown menu. In this case, the values that these names represent correspond to bit positions of
37
+ the breakout board's digital ports. In this workflow, the top ` HasFlags ` operator checks if ` Pin0 `
38
+ is ` True ` , and the bottom ` HasFlags ` operator checks if ` Triangle ` or ` X ` are ` True ` .
0 commit comments