diff --git a/articles/getting-started/onix-bonsai.md b/articles/getting-started/onix-bonsai.md new file mode 100644 index 0000000..bf6cc5b --- /dev/null +++ b/articles/getting-started/onix-bonsai.md @@ -0,0 +1,145 @@ +--- +uid: onix-bonsai +title: Configure Hardware and Stream Data +--- + +> [!TIP] +> This page provides a description of how workflows involving OpenEphys.Onix1 work. When it comes to +> writing your own workflows, starting from [example workflows](xref:hardware) for your hardware +> might be easier and faster than writing a workflow from scratch. + +## Construct Top-level Configuration Chain + +Every workflow in Bonsai that is meant to work with ONIX hardware should contain a hardware +configuration chain in its first row. This hardware configuration chain comprises of the following +steps: +1) Creating a ONI context (an object that is capable of reading to and writing from ONIX hardware) +2) Writing properties to hardware +3) Starting acquisition + +### Create a context + +An ONI context contains information about the device driver and index where the hardware which +enables it to read from and write to hardware. To create a context, place a + into the workflow. The context's device driver and index can be +set by the user by editing CreateContext's properties. The Driver property is typically set to +"riffa" which is the name of the PCIe device used by ONIX, and the Index property is typically set +to 0 though [using multiple ONIX systems on a single PC](#multiple-onix-systems) requires changing this value. + +::: workflow +![/workflows/operators/CreateContext.bonsai workflow](../../workflows/operators/CreateContext.bonsai) +::: + +The context generated by CreateContext when the workflow starts is a [data +element](xref:data-elements) named . + +### Configure hardware + +Hardware configuration is performed when ContextTask passes through a [configuration +operator](xref:configure). A configuration operator allows the user to set the values that are +written to hardware by editing its properties. There are two types of configuration operators: +multi-device configuration operators and single-device configuration operators. Single-device +configuration operators allow configuration of a single device contained by a headstage, miniscope, +or breakout board whereas multi-device configuration operators allow configuration of all devices +contained by a headstage, miniscope, or breakout board. We recommend using multi-device +configuration operators for concision and ease-of-use, though single-device operators can be helpful +in more advanced workflows that require writing to hardware while the workflow is running. + +Any number of configuration operators can be chained following a CreateContext operator. If you use +only multi-device configuration operators, you'll probably have between one and three total +configuration operators: one for the breakout board and one for each port that is connected to a +headstage or miniscope. + +::: workflow +![/workflows/getting-started/configure.bonsai workflow](../../workflows/getting-started/configure.bonsai) +::: + +### Start acquisition + +The data acquisition process is started when ContextTask passes through +. StartAcquisition allows the user to set parameters that are +related to data acquisition such as ReadSize and WriteSize. Setting the ReadSize property for a +particular workflow is a balancing act of minimizing latency of data from hardware to software while +not letting the ONIX system's hardware buffer accumulate data to maximum capacity. + + + +::: workflow +![/workflows/getting-started/start-acquisition.bonsai workflow](../../workflows/getting-started/start-acquisition.bonsai) +::: + +## Acquire Data + +Streaming data into Bonsai requires a . + +### Set up data I/O operators + +Streaming data from the configured hardware/devices requires placing a data I/O operator and setting +its DeviceName property for every device from which you would like to stream. Setting its DeviceName +tells the operator from which device to stream data. In these docs, setting the DeviceName is +referred to as linking the data I/O operator to a device. The value of each DeviceName property in +the workflow must correspond to a device in the configuration chain. Take this workflow for example: + +::: workflow +![/images/analog-input.bonsai workflow](../../images/analog-input.bonsai) +::: + +The DeviceName property of the AnalogInput operator is set to "BreakoutBoard/AnalogIO". This links +the operator to the AnalogIO device on the Breakout Board meaning that the AnalogInput operator will +streams data from that device. + +### Visualize & save data + +Each OpenEphys.Onix1 data I/O operator produces a data frame whose members might contain multiple +disparate data types. Select the data from the frame you want to save by following the +[member-selection section](xref:visualize-data#select-data-members) of the Visualize Data page. + +To save data, place a writer operator (such as , +, or ) downstream/to the right of the operator +that is producing data you want to save. For example: + +::: workflow +![/workflows/getting-started/writer-example.bonsai workflow](../../workflows/getting-started/writer-example.bonsai) +::: + +> [!TIP] +> - The recommended writer operator for saving particular data is used in the example workflow in +> the [hardware guide](xref:hardware) for your hardware. +> - Each hardware guide has a Python script to load and view data. You can use this is to load and +> view data from the example workflow or as a starting point for loading data from your own workflow. + + + + +Read the [relevant sections](xref:visualize-data#select-visualizers) of the Visualize Data page +to visualize this data. + +## Use Multiple Instances of Identical Hardware + +### Multiple Headstages/Miniscopes + +Linking the data I/O operator to devices when using two identical headstages or miniscopes involves +an additional step: aliasing the multi-device configuration operator. Suppose you want to stream +orientation data from two Headstage64s through the Bno055Data operator. By default, the +ConfigureHeadstage64 operators are both named "Headstage64". This causes their devices to also have +identical names, "Headstage64/Bno055". The two headstages and their devices must be disambiguated. The +solution is to alias one or both headstages by editing their Name property. + +::: workflow +![/images/bno055-data-alias.bonsai workflow](../../images/bno055-data-alias.bonsai) +::: + +In this workflow, each ConfigureHeadstage64 operator previously named "Headstage64" has been +suffixed by the port to which the headstage is plugged. Now, the names "Headstage64A/Bno055" and +"Headstage64B/Bno055" can be used when setting the DeviceName property in each Bno055Data operator. + +### Multiple ONIX Systems + +If a second ONIX system is used on the same computer, a second configuration chain operator is +required. In this case, the Index property of the configuration chain that corresponds to the second +system should be set to 1. + +::: workflow +![/workflows/getting-started/multiple-breakout.bonsai workflow](../../workflows/getting-started/multiple-breakout.bonsai) +::: \ No newline at end of file diff --git a/articles/getting-started/initialize-oni-context.md b/articles/getting-started/script-workflow.md similarity index 81% rename from articles/getting-started/initialize-oni-context.md rename to articles/getting-started/script-workflow.md index 6ea327b..87953a5 100644 --- a/articles/getting-started/initialize-oni-context.md +++ b/articles/getting-started/script-workflow.md @@ -1,9 +1,10 @@ --- -uid: initialize-onicontext -title: Initialize the ONI Context +uid: script-workflow +title: Bonsai Workflow Editor --- -The [CreateContext](xref:OpenEphys.Onix1.CreateContext) operator initializes the acquisition context, and it should be the first operator you add to your workflow as it provides access to the hardware device table for all other configuration operators. There are several different ways to find this operator and add it to the workflow: +Scripting in Bonsai involves placing nodes onto the workflow editor. This page describes how to do +that using as an example. 1. From the Bonsai editor, navigate to the toolbox on the left side of the screen and expand the **Source** section. Next, expand the **OpenEphys.Onix1** section, and find the `CreateContext` line. The operator can then be added by either double-clicking it, or dragging and dropping the operator into the workflow. diff --git a/articles/getting-started/visualize-data.md b/articles/getting-started/visualize-data.md index 1e27ac6..a036040 100644 --- a/articles/getting-started/visualize-data.md +++ b/articles/getting-started/visualize-data.md @@ -8,7 +8,7 @@ produced by an operator. They are opened by double-clicking the corresponding no Read below for more details about how to visualize data. -## Selecting operator data members for visualization +## Select data member(s) Some operators, such as [ONIX data I/O operators](xref:dataio), require selecting members from their output to visualize their data: @@ -28,7 +28,7 @@ member from the data frame produced by the data I/O operator. > the data in a meaningful capacity. This is true for [ONIX data I/O operators](xref:dataio) which typically produce > [data frames](xref:data-elements). -## Selecting visualizers +## Select visualizers Select the visualizer you would like to use for visualizing data: 1. Right-click the `MemberSelector` node labelled with the member you would like to visualize. @@ -39,9 +39,9 @@ Select the visualizer you would like to use for visualizing data: -## Opening visualizers +## Open visualizers -Open the visualizer and check: +Open the visualizer: 1. Start the workflow. 1. If the desired visualizer is closed, double-click the `MemberSelector` node labelled with the member you would like to visualize. @@ -58,7 +58,7 @@ Open the visualizer and check: > Visualizers can be selected while the workflow is running which is helpful for more quickly trying different visualizer > options in succession if you are unsure about which one you want to use. -## Configuring visualizers +## Configure visualizers Some visualizers, in particular those that involve plots, allow additional configuration. Right-click the visualizer window to gain access to configuration options. diff --git a/articles/toc.yml b/articles/toc.yml index a8ed9c5..c5b7fe8 100644 --- a/articles/toc.yml +++ b/articles/toc.yml @@ -4,8 +4,9 @@ - href: getting-started/bonsai-usage.md - href: getting-started/operator-types.md - href: getting-started/tips-tricks.md + - href: getting-started/script-workflow.md + - href: getting-started/onix-bonsai.md - href: getting-started/property-categories.md - - href: getting-started/initialize-oni-context.md - href: getting-started/start-workflow.md - href: getting-started/visualize-data.md - href: getting-started/reference.md diff --git a/articles/tutorials/ephys-processing-listening.md b/articles/tutorials/ephys-processing-listening.md index e38a5fe..58eae71 100644 --- a/articles/tutorials/ephys-processing-listening.md +++ b/articles/tutorials/ephys-processing-listening.md @@ -42,7 +42,7 @@ tutorial by visualizing the data produced. ## Configure the Hardware -Construct a [top-level hardware configuration chain](xref:initialize-onicontext): +Construct a [top-level hardware configuration chain](xref:onix-bonsai): ::: workflow ![/workflows/tutorials/ephys-process-listen/configure.bonsai workflow](../../workflows/tutorials/ephys-process-listen/configure.bonsai) diff --git a/images/analog-input.bonsai b/images/analog-input.bonsai new file mode 100644 index 0000000..95a4e6a --- /dev/null +++ b/images/analog-input.bonsai @@ -0,0 +1,132 @@ + + + + + + + riffa + 0 + + + + + BreakoutBoard + + BreakoutBoard/Heartbeat + 0 + true + 100 + + + BreakoutBoard/AnalogIO + 6 + true + TenVolts + TenVolts + TenVolts + TenVolts + TenVolts + TenVolts + TenVolts + TenVolts + TenVolts + TenVolts + TenVolts + TenVolts + Input + Input + Input + Input + Input + Input + Input + Input + Input + Input + Input + Input + + + BreakoutBoard/DigitalIO + 7 + false + + + BreakoutBoard/OutputClock + 5 + false + 1000000 + 50 + 0 + + + BreakoutBoard/HarpSyncInput + 12 + false + Breakout + + + BreakoutBoard/MemoryMonitor + 10 + false + 10 + + + + + + Headstage64 + + Headstage64/Rhd2164 + 256 + false + Dsp146mHz + Low100mHz + High10000Hz + + + Headstage64/Bno055 + 257 + true + + + Headstage64/TS4231V1 + 258 + false + + + Headstage64/Headstage64ElectricalStimulator + 259 + + + Headstage64/Headstage64OpticalStimulator + 260 + + PortA + + + + + + 2048 + 2048 + + + + + BreakoutBoard/AnalogIO + 100 + S16 + + + + + + + + + + \ No newline at end of file diff --git a/images/analog-input.svg b/images/analog-input.svg new file mode 100644 index 0000000..6110833 --- /dev/null +++ b/images/analog-input.svg @@ -0,0 +1,216 @@ + +StartAcquisitionAnalogInputHeadstage64BreakoutBoardCreateContext diff --git a/images/bno055-data-alias.bonsai b/images/bno055-data-alias.bonsai new file mode 100644 index 0000000..2769128 --- /dev/null +++ b/images/bno055-data-alias.bonsai @@ -0,0 +1,169 @@ + + + + + + + riffa + 0 + + + + + BreakoutBoard + + BreakoutBoard/Heartbeat + 0 + true + 100 + + + BreakoutBoard/AnalogIO + 6 + true + TenVolts + TenVolts + TenVolts + TenVolts + TenVolts + TenVolts + TenVolts + TenVolts + TenVolts + TenVolts + TenVolts + TenVolts + Input + Input + Input + Input + Input + Input + Input + Input + Input + Input + Input + Input + + + BreakoutBoard/DigitalIO + 7 + false + + + BreakoutBoard/OutputClock + 5 + false + 1000000 + 50 + 0 + + + BreakoutBoard/HarpSyncInput + 12 + false + Breakout + + + BreakoutBoard/MemoryMonitor + 10 + false + 10 + + + + + + Headstage64A + + Headstage64A/Rhd2164 + 256 + false + Dsp146mHz + Low100mHz + High10000Hz + + + Headstage64A/Bno055 + 257 + true + + + Headstage64A/TS4231V1 + 258 + false + + + Headstage64A/Headstage64ElectricalStimulator + 259 + + + Headstage64A/Headstage64OpticalStimulator + 260 + + PortA + + + + + + Headstage64B + + Headstage64B/Rhd2164 + 512 + false + Dsp146mHz + Low100mHz + High10000Hz + + + Headstage64B/Bno055 + 513 + true + + + Headstage64B/TS4231V1 + 514 + false + + + Headstage64B/Headstage64ElectricalStimulator + 515 + + + Headstage64B/Headstage64OpticalStimulator + 516 + + PortB + + + + + + 2048 + 2048 + + + + + Headstage64A/Bno055 + + + + + Headstage64B/Bno055 + + + + + + + + + + + \ No newline at end of file diff --git a/images/bno055-data-alias.svg b/images/bno055-data-alias.svg new file mode 100644 index 0000000..4e4f44b --- /dev/null +++ b/images/bno055-data-alias.svg @@ -0,0 +1,279 @@ + +StartAcquisitionBno055DataHeadstage64BBno055DataHeadstage64ABreakoutBoardCreateContext diff --git a/template/partials/hardware/configuration.tmpl.partial b/template/partials/hardware/configuration.tmpl.partial index 5a19000..c36e1eb 100644 --- a/template/partials/hardware/configuration.tmpl.partial +++ b/template/partials/hardware/configuration.tmpl.partial @@ -31,7 +31,7 @@

To learn more about the top-level configuration motif in every workflow involving ONIX hardware, visit the Configuration Chain + href="~/articles/getting-started/onix-bonsai#construct-top-level-configuration-chain.html">Configuration Chain Tutorial.

diff --git a/workflows/getting-started/analog-input.bonsai b/workflows/getting-started/analog-input.bonsai new file mode 100644 index 0000000..95a4e6a --- /dev/null +++ b/workflows/getting-started/analog-input.bonsai @@ -0,0 +1,132 @@ + + + + + + + riffa + 0 + + + + + BreakoutBoard + + BreakoutBoard/Heartbeat + 0 + true + 100 + + + BreakoutBoard/AnalogIO + 6 + true + TenVolts + TenVolts + TenVolts + TenVolts + TenVolts + TenVolts + TenVolts + TenVolts + TenVolts + TenVolts + TenVolts + TenVolts + Input + Input + Input + Input + Input + Input + Input + Input + Input + Input + Input + Input + + + BreakoutBoard/DigitalIO + 7 + false + + + BreakoutBoard/OutputClock + 5 + false + 1000000 + 50 + 0 + + + BreakoutBoard/HarpSyncInput + 12 + false + Breakout + + + BreakoutBoard/MemoryMonitor + 10 + false + 10 + + + + + + Headstage64 + + Headstage64/Rhd2164 + 256 + false + Dsp146mHz + Low100mHz + High10000Hz + + + Headstage64/Bno055 + 257 + true + + + Headstage64/TS4231V1 + 258 + false + + + Headstage64/Headstage64ElectricalStimulator + 259 + + + Headstage64/Headstage64OpticalStimulator + 260 + + PortA + + + + + + 2048 + 2048 + + + + + BreakoutBoard/AnalogIO + 100 + S16 + + + + + + + + + + \ No newline at end of file diff --git a/workflows/getting-started/bno055-data-alias.bonsai b/workflows/getting-started/bno055-data-alias.bonsai new file mode 100644 index 0000000..2769128 --- /dev/null +++ b/workflows/getting-started/bno055-data-alias.bonsai @@ -0,0 +1,169 @@ + + + + + + + riffa + 0 + + + + + BreakoutBoard + + BreakoutBoard/Heartbeat + 0 + true + 100 + + + BreakoutBoard/AnalogIO + 6 + true + TenVolts + TenVolts + TenVolts + TenVolts + TenVolts + TenVolts + TenVolts + TenVolts + TenVolts + TenVolts + TenVolts + TenVolts + Input + Input + Input + Input + Input + Input + Input + Input + Input + Input + Input + Input + + + BreakoutBoard/DigitalIO + 7 + false + + + BreakoutBoard/OutputClock + 5 + false + 1000000 + 50 + 0 + + + BreakoutBoard/HarpSyncInput + 12 + false + Breakout + + + BreakoutBoard/MemoryMonitor + 10 + false + 10 + + + + + + Headstage64A + + Headstage64A/Rhd2164 + 256 + false + Dsp146mHz + Low100mHz + High10000Hz + + + Headstage64A/Bno055 + 257 + true + + + Headstage64A/TS4231V1 + 258 + false + + + Headstage64A/Headstage64ElectricalStimulator + 259 + + + Headstage64A/Headstage64OpticalStimulator + 260 + + PortA + + + + + + Headstage64B + + Headstage64B/Rhd2164 + 512 + false + Dsp146mHz + Low100mHz + High10000Hz + + + Headstage64B/Bno055 + 513 + true + + + Headstage64B/TS4231V1 + 514 + false + + + Headstage64B/Headstage64ElectricalStimulator + 515 + + + Headstage64B/Headstage64OpticalStimulator + 516 + + PortB + + + + + + 2048 + 2048 + + + + + Headstage64A/Bno055 + + + + + Headstage64B/Bno055 + + + + + + + + + + + \ No newline at end of file diff --git a/workflows/getting-started/bonsai-process-listen.bonsai b/workflows/getting-started/bonsai-process-listen.bonsai new file mode 100644 index 0000000..1435c85 --- /dev/null +++ b/workflows/getting-started/bonsai-process-listen.bonsai @@ -0,0 +1,231 @@ + + + + + + + riffa + 0 + + + + + BreakoutBoard + + BreakoutBoard/Heartbeat + 0 + true + 10 + + + BreakoutBoard/AnalogIO + 6 + false + TenVolts + TenVolts + TenVolts + TenVolts + TenVolts + TenVolts + TenVolts + TenVolts + TenVolts + TenVolts + TenVolts + TenVolts + Input + Input + Input + Input + Input + Input + Input + Input + Input + Input + Input + Input + + + BreakoutBoard/DigitalIO + 7 + false + + + BreakoutBoard/OutputClock + 5 + false + 1000000 + 50 + 0 + + + BreakoutBoard/HarpSyncInput + 12 + false + Breakout + + + BreakoutBoard/MemoryMonitor + 10 + false + 10 + + + + + + Headstage64 + + Headstage64/Rhd2164 + 256 + true + Dsp146mHz + Low100mHz + High10000Hz + + + Headstage64/Bno055 + 257 + false + + + Headstage64/TS4231V1 + 258 + false + + + Headstage64/Headstage64ElectricalStimulator + 259 + + + Headstage64/Headstage64OpticalStimulator + 260 + + PortA + + + + + + 4096 + 2048 + + + + + Headstage64/Rhd2164 + 30 + + + + AmplifierData + + + + + 0 + 1 + 2 + 3 + + + + + + S16 + 1 + -32768 + + + + + F32 + 0.195 + 0 + + + + + 30000 + 0 + 0 + 60 + BandPass + + + + + 0 + 30 + + -50 + + AlignPeaks + + + + + + + + + 0 + + + + + + S16 + 1 + -32768 + + + + + S16 + 0.1 + 0 + + + + + 30000 + 0 + 0 + 60 + BandPass + + + + + Generic Software on Speakers (Realtek(R) Audio) + 30000 + Playing + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/workflows/getting-started/configure.bonsai b/workflows/getting-started/configure.bonsai new file mode 100644 index 0000000..b047b8c --- /dev/null +++ b/workflows/getting-started/configure.bonsai @@ -0,0 +1,118 @@ + + + + + + + riffa + 0 + + + + + BreakoutBoard + + BreakoutBoard/Heartbeat + 0 + true + 100 + + + BreakoutBoard/AnalogIO + 6 + true + TenVolts + TenVolts + TenVolts + TenVolts + TenVolts + TenVolts + TenVolts + TenVolts + TenVolts + TenVolts + TenVolts + TenVolts + Input + Input + Input + Input + Input + Input + Input + Input + Input + Input + Input + Input + + + BreakoutBoard/DigitalIO + 7 + false + + + BreakoutBoard/OutputClock + 5 + false + 1000000 + 50 + 0 + + + BreakoutBoard/HarpSyncInput + 12 + false + Breakout + + + BreakoutBoard/MemoryMonitor + 10 + false + 10 + + + + + + Headstage64 + + Headstage64/Rhd2164 + 256 + false + Dsp146mHz + Low100mHz + High10000Hz + + + Headstage64/Bno055 + 257 + true + + + Headstage64/TS4231V1 + 258 + false + + + Headstage64/Headstage64ElectricalStimulator + 259 + + + Headstage64/Headstage64OpticalStimulator + 260 + + PortA + + + + + + + + + + \ No newline at end of file diff --git a/workflows/getting-started/multiple-breakout.bonsai b/workflows/getting-started/multiple-breakout.bonsai new file mode 100644 index 0000000..fb20279 --- /dev/null +++ b/workflows/getting-started/multiple-breakout.bonsai @@ -0,0 +1,170 @@ + + + + + + + riffa + 0 + + + + + BreakoutBoard0 + + BreakoutBoard0/Heartbeat + 0 + true + 100 + + + BreakoutBoard0/AnalogIO + 6 + true + TenVolts + TenVolts + TenVolts + TenVolts + TenVolts + TenVolts + TenVolts + TenVolts + TenVolts + TenVolts + TenVolts + TenVolts + Input + Input + Input + Input + Input + Input + Input + Input + Input + Input + Input + Input + + + BreakoutBoard0/DigitalIO + 7 + false + + + BreakoutBoard0/OutputClock + 5 + false + 1000000 + 50 + 0 + + + BreakoutBoard0/HarpSyncInput + 12 + false + Breakout + + + BreakoutBoard0/MemoryMonitor + 10 + false + 10 + + + + + + 2048 + 2048 + + + + + riffa + 1 + + + + + BreakoutBoard1 + + BreakoutBoard1/Heartbeat + 0 + true + 100 + + + BreakoutBoard1/AnalogIO + 6 + true + TenVolts + TenVolts + TenVolts + TenVolts + TenVolts + TenVolts + TenVolts + TenVolts + TenVolts + TenVolts + TenVolts + TenVolts + Input + Input + Input + Input + Input + Input + Input + Input + Input + Input + Input + Input + + + BreakoutBoard1/DigitalIO + 7 + false + + + BreakoutBoard1/OutputClock + 5 + false + 1000000 + 50 + 0 + + + BreakoutBoard1/HarpSyncInput + 12 + false + Breakout + + + BreakoutBoard1/MemoryMonitor + 10 + false + 10 + + + + + + 2048 + 2048 + + + + + + + + + + + \ No newline at end of file diff --git a/workflows/getting-started/start-acquisition.bonsai b/workflows/getting-started/start-acquisition.bonsai new file mode 100644 index 0000000..150fd2b --- /dev/null +++ b/workflows/getting-started/start-acquisition.bonsai @@ -0,0 +1,125 @@ + + + + + + + riffa + 0 + + + + + BreakoutBoard + + BreakoutBoard/Heartbeat + 0 + true + 100 + + + BreakoutBoard/AnalogIO + 6 + true + TenVolts + TenVolts + TenVolts + TenVolts + TenVolts + TenVolts + TenVolts + TenVolts + TenVolts + TenVolts + TenVolts + TenVolts + Input + Input + Input + Input + Input + Input + Input + Input + Input + Input + Input + Input + + + BreakoutBoard/DigitalIO + 7 + false + + + BreakoutBoard/OutputClock + 5 + false + 1000000 + 50 + 0 + + + BreakoutBoard/HarpSyncInput + 12 + false + Breakout + + + BreakoutBoard/MemoryMonitor + 10 + false + 10 + + + + + + Headstage64 + + Headstage64/Rhd2164 + 256 + false + Dsp146mHz + Low100mHz + High10000Hz + + + Headstage64/Bno055 + 257 + true + + + Headstage64/TS4231V1 + 258 + false + + + Headstage64/Headstage64ElectricalStimulator + 259 + + + Headstage64/Headstage64OpticalStimulator + 260 + + PortA + + + + + + 2048 + 2048 + + + + + + + + + + \ No newline at end of file diff --git a/workflows/getting-started/writer-example.bonsai b/workflows/getting-started/writer-example.bonsai new file mode 100644 index 0000000..3ef7501 --- /dev/null +++ b/workflows/getting-started/writer-example.bonsai @@ -0,0 +1,174 @@ + + + + + + + riffa + 0 + + + + + BreakoutBoard + + BreakoutBoard/Heartbeat + 0 + true + 100 + + + BreakoutBoard/AnalogIO + 6 + true + TenVolts + TenVolts + TenVolts + TenVolts + TenVolts + TenVolts + TenVolts + TenVolts + TenVolts + TenVolts + TenVolts + TenVolts + Input + Input + Input + Input + Input + Input + Input + Input + Input + Input + Input + Input + + + BreakoutBoard/DigitalIO + 7 + false + + + BreakoutBoard/OutputClock + 5 + false + 1000000 + 50 + 0 + + + BreakoutBoard/HarpSyncInput + 12 + false + Breakout + + + BreakoutBoard/MemoryMonitor + 10 + false + 10 + + + + + + Headstage64 + + Headstage64/Rhd2164 + 256 + false + Dsp146mHz + Low100mHz + High10000Hz + + + Headstage64/Bno055 + 257 + true + + + Headstage64/TS4231V1 + 258 + false + + + Headstage64/Headstage64ElectricalStimulator + 259 + + + Headstage64/Headstage64OpticalStimulator + 260 + + PortA + + + + + + 2048 + 2048 + + + + + BreakoutBoard/AnalogIO + 100 + S16 + + + + Clock + + + + analog-input_clock_ + FileCount + false + ColumnMajor + + + + AnalogData + + + + analog-input_analog-data_ + FileCount + false + ColumnMajor + + + + + Headstage64/Bno055 + + + + bno055-data_ + false + false + FileCount + false + Clock,EulerAngle,Quaternion,Acceleration,Gravity,Temperature + + + + + + + + + + + + + + \ No newline at end of file