From 818a41069be196a88d5a499b10190a79d87eacaf Mon Sep 17 00:00:00 2001 From: cjsha Date: Tue, 6 Aug 2024 15:46:39 -0400 Subject: [PATCH 1/7] Deprecate Bonsai.Onix Library - Add deprecation-notice.rst to every page in the Bonsai.ONIX directory - Modify TOC to put Bonsai.ONIX as last entry, mark it as deprecated, and replace with OpenEphys.Onix1 - Add page for OpenEphys.Onix1 with example workflow for easy navigation --- .../Bonsai.ONIX/Bonsai Examples/CameraSync.rst | 2 ++ .../Bonsai.ONIX/Bonsai Examples/Commutator.rst | 2 ++ .../Bonsai.ONIX/Bonsai Examples/Headstage64.rst | 2 ++ .../Bonsai.ONIX/Bonsai Examples/HeadstageNP1e.rst | 2 ++ .../Bonsai.ONIX/Bonsai Examples/LatencyTest.rst | 3 +++ .../Bonsai.ONIX/Bonsai Examples/index.rst | 2 ++ .../Software Guide/Bonsai.ONIX/GettingStarted.rst | 2 ++ source/Software Guide/Bonsai.ONIX/Installation.rst | 2 ++ .../Bonsai.ONIX/Nodes/AnalogIODevice.rst | 2 ++ .../Bonsai.ONIX/Nodes/BNO055Device.rst | 2 ++ .../Bonsai.ONIX/Nodes/ClockOutputDevice.rst | 2 ++ .../Bonsai.ONIX/Nodes/DigitalIODevice.rst | 2 ++ .../Nodes/ElectricalStimulationDevice.rst | 2 ++ .../Nodes/HeadstagePortControlDevice.rst | 2 ++ .../Bonsai.ONIX/Nodes/HeartbeatDevice.rst | 2 ++ .../Bonsai.ONIX/Nodes/MemoryUsageDevice.rst | 2 ++ .../Bonsai.ONIX/Nodes/MiniscopeV3Device.rst | 2 ++ .../Bonsai.ONIX/Nodes/MiniscopeV4BNO055Device.rst | 2 ++ .../Bonsai.ONIX/Nodes/MiniscopeV4Device.rst | 2 ++ .../Bonsai.ONIX/Nodes/NeuropixelsV1Device.rst | 2 ++ .../Bonsai.ONIX/Nodes/NeuropixelsV1eDevice.rst | 2 ++ .../Bonsai.ONIX/Nodes/ONIContext.rst | 2 ++ .../Bonsai.ONIX/Nodes/OpticalStimulationDevice.rst | 2 ++ .../Bonsai.ONIX/Nodes/RHD2164Device.rst | 2 ++ .../Bonsai.ONIX/Nodes/RHS2116Device.rst | 2 ++ .../Bonsai.ONIX/Nodes/RHS2116TriggerDevice.rst | 2 ++ .../Bonsai.ONIX/Nodes/TS4231V1Device.rst | 2 ++ source/Software Guide/Bonsai.ONIX/Nodes/index.rst | 2 ++ .../Bonsai.ONIX/deprecation-notice.rst | 5 +++++ source/Software Guide/Bonsai.ONIX/index.rst | 2 ++ source/Software Guide/index.rst | 13 ++++++++++--- source/Software Guide/onix1.rst | 14 ++++++++++++++ source/_static/images/onix1-example.svg | 3 +++ 33 files changed, 91 insertions(+), 3 deletions(-) create mode 100644 source/Software Guide/Bonsai.ONIX/deprecation-notice.rst create mode 100644 source/Software Guide/onix1.rst create mode 100644 source/_static/images/onix1-example.svg diff --git a/source/Software Guide/Bonsai.ONIX/Bonsai Examples/CameraSync.rst b/source/Software Guide/Bonsai.ONIX/Bonsai Examples/CameraSync.rst index 0216f1c5..4953c14f 100644 --- a/source/Software Guide/Bonsai.ONIX/Bonsai Examples/CameraSync.rst +++ b/source/Software Guide/Bonsai.ONIX/Bonsai Examples/CameraSync.rst @@ -1,3 +1,5 @@ +.. include:: ../deprecation-notice.rst + .. _bonsai_camerasync: Camera Synchronization Workflow diff --git a/source/Software Guide/Bonsai.ONIX/Bonsai Examples/Commutator.rst b/source/Software Guide/Bonsai.ONIX/Bonsai Examples/Commutator.rst index f87dc051..b52481df 100644 --- a/source/Software Guide/Bonsai.ONIX/Bonsai Examples/Commutator.rst +++ b/source/Software Guide/Bonsai.ONIX/Bonsai Examples/Commutator.rst @@ -1,3 +1,5 @@ +.. include:: ../deprecation-notice.rst + .. _bonsai_commutator: Manual Commutator Workflow diff --git a/source/Software Guide/Bonsai.ONIX/Bonsai Examples/Headstage64.rst b/source/Software Guide/Bonsai.ONIX/Bonsai Examples/Headstage64.rst index 80b458bb..bfa2e960 100644 --- a/source/Software Guide/Bonsai.ONIX/Bonsai Examples/Headstage64.rst +++ b/source/Software Guide/Bonsai.ONIX/Bonsai Examples/Headstage64.rst @@ -1,3 +1,5 @@ +.. include:: ../deprecation-notice.rst + .. _bonsai_headstage64: Headstage-64 Workflow diff --git a/source/Software Guide/Bonsai.ONIX/Bonsai Examples/HeadstageNP1e.rst b/source/Software Guide/Bonsai.ONIX/Bonsai Examples/HeadstageNP1e.rst index fa7f99bc..d8676f4e 100644 --- a/source/Software Guide/Bonsai.ONIX/Bonsai Examples/HeadstageNP1e.rst +++ b/source/Software Guide/Bonsai.ONIX/Bonsai Examples/HeadstageNP1e.rst @@ -1,3 +1,5 @@ +.. include:: ../deprecation-notice.rst + .. _bonsai_headstage_neuropix1e: Headstage Neuropixels 1.0e Workflow diff --git a/source/Software Guide/Bonsai.ONIX/Bonsai Examples/LatencyTest.rst b/source/Software Guide/Bonsai.ONIX/Bonsai Examples/LatencyTest.rst index b8876a18..49121825 100644 --- a/source/Software Guide/Bonsai.ONIX/Bonsai Examples/LatencyTest.rst +++ b/source/Software Guide/Bonsai.ONIX/Bonsai Examples/LatencyTest.rst @@ -1,3 +1,6 @@ +.. include:: ../deprecation-notice.rst + + .. _bonsai_latencytest: Latency Test Workflow diff --git a/source/Software Guide/Bonsai.ONIX/Bonsai Examples/index.rst b/source/Software Guide/Bonsai.ONIX/Bonsai Examples/index.rst index f2c4871e..d6af1e0b 100644 --- a/source/Software Guide/Bonsai.ONIX/Bonsai Examples/index.rst +++ b/source/Software Guide/Bonsai.ONIX/Bonsai Examples/index.rst @@ -1,3 +1,5 @@ +.. include:: ../deprecation-notice.rst + .. _bonsai_onixexamples: Example Workflows diff --git a/source/Software Guide/Bonsai.ONIX/GettingStarted.rst b/source/Software Guide/Bonsai.ONIX/GettingStarted.rst index a15cd0d9..a958dd26 100644 --- a/source/Software Guide/Bonsai.ONIX/GettingStarted.rst +++ b/source/Software Guide/Bonsai.ONIX/GettingStarted.rst @@ -1,3 +1,5 @@ +.. include:: deprecation-notice.rst + .. _bonsai_gettingstarted: Getting Started diff --git a/source/Software Guide/Bonsai.ONIX/Installation.rst b/source/Software Guide/Bonsai.ONIX/Installation.rst index da85f60f..1645dcbf 100644 --- a/source/Software Guide/Bonsai.ONIX/Installation.rst +++ b/source/Software Guide/Bonsai.ONIX/Installation.rst @@ -1,3 +1,5 @@ +.. include:: deprecation-notice.rst + .. _bonsai_installation: Installation diff --git a/source/Software Guide/Bonsai.ONIX/Nodes/AnalogIODevice.rst b/source/Software Guide/Bonsai.ONIX/Nodes/AnalogIODevice.rst index dbd421ce..350a7452 100644 --- a/source/Software Guide/Bonsai.ONIX/Nodes/AnalogIODevice.rst +++ b/source/Software Guide/Bonsai.ONIX/Nodes/AnalogIODevice.rst @@ -1,3 +1,5 @@ +.. include:: ../deprecation-notice.rst + .. _bonsai_analogiodev: AnalogIODevice diff --git a/source/Software Guide/Bonsai.ONIX/Nodes/BNO055Device.rst b/source/Software Guide/Bonsai.ONIX/Nodes/BNO055Device.rst index cff803ff..6a6bc8d7 100644 --- a/source/Software Guide/Bonsai.ONIX/Nodes/BNO055Device.rst +++ b/source/Software Guide/Bonsai.ONIX/Nodes/BNO055Device.rst @@ -1,3 +1,5 @@ +.. include:: ../deprecation-notice.rst + .. _bonsai_bno055dev: BNO055Device diff --git a/source/Software Guide/Bonsai.ONIX/Nodes/ClockOutputDevice.rst b/source/Software Guide/Bonsai.ONIX/Nodes/ClockOutputDevice.rst index a6f270c9..cf780f9e 100644 --- a/source/Software Guide/Bonsai.ONIX/Nodes/ClockOutputDevice.rst +++ b/source/Software Guide/Bonsai.ONIX/Nodes/ClockOutputDevice.rst @@ -1,3 +1,5 @@ +.. include:: ../deprecation-notice.rst + .. _bonsai_clockoutputdev: ClockOutputDevice diff --git a/source/Software Guide/Bonsai.ONIX/Nodes/DigitalIODevice.rst b/source/Software Guide/Bonsai.ONIX/Nodes/DigitalIODevice.rst index f2097f91..e1b5963c 100644 --- a/source/Software Guide/Bonsai.ONIX/Nodes/DigitalIODevice.rst +++ b/source/Software Guide/Bonsai.ONIX/Nodes/DigitalIODevice.rst @@ -1,3 +1,5 @@ +.. include:: ../deprecation-notice.rst + .. _bonsai_digitaliodev: DigitalIODevice diff --git a/source/Software Guide/Bonsai.ONIX/Nodes/ElectricalStimulationDevice.rst b/source/Software Guide/Bonsai.ONIX/Nodes/ElectricalStimulationDevice.rst index a7e71a73..fbcd70e9 100644 --- a/source/Software Guide/Bonsai.ONIX/Nodes/ElectricalStimulationDevice.rst +++ b/source/Software Guide/Bonsai.ONIX/Nodes/ElectricalStimulationDevice.rst @@ -1,3 +1,5 @@ +.. include:: ../deprecation-notice.rst + .. _bonsai_estimdev: ElectricalStimulationDevice diff --git a/source/Software Guide/Bonsai.ONIX/Nodes/HeadstagePortControlDevice.rst b/source/Software Guide/Bonsai.ONIX/Nodes/HeadstagePortControlDevice.rst index c25ee65e..fb418c86 100644 --- a/source/Software Guide/Bonsai.ONIX/Nodes/HeadstagePortControlDevice.rst +++ b/source/Software Guide/Bonsai.ONIX/Nodes/HeadstagePortControlDevice.rst @@ -1,3 +1,5 @@ +.. include:: ../deprecation-notice.rst + .. _bonsai_headstageportcontroldev: HeadstagePortControlDevice diff --git a/source/Software Guide/Bonsai.ONIX/Nodes/HeartbeatDevice.rst b/source/Software Guide/Bonsai.ONIX/Nodes/HeartbeatDevice.rst index 7f0ffe7a..6e5b9e3b 100644 --- a/source/Software Guide/Bonsai.ONIX/Nodes/HeartbeatDevice.rst +++ b/source/Software Guide/Bonsai.ONIX/Nodes/HeartbeatDevice.rst @@ -1,3 +1,5 @@ +.. include:: ../deprecation-notice.rst + .. _bonsai_heartbeatdev: HeartbeatDevice diff --git a/source/Software Guide/Bonsai.ONIX/Nodes/MemoryUsageDevice.rst b/source/Software Guide/Bonsai.ONIX/Nodes/MemoryUsageDevice.rst index e0add608..d880aa13 100644 --- a/source/Software Guide/Bonsai.ONIX/Nodes/MemoryUsageDevice.rst +++ b/source/Software Guide/Bonsai.ONIX/Nodes/MemoryUsageDevice.rst @@ -1,3 +1,5 @@ +.. include:: ../deprecation-notice.rst + ################# diff --git a/source/Software Guide/Bonsai.ONIX/Nodes/MiniscopeV3Device.rst b/source/Software Guide/Bonsai.ONIX/Nodes/MiniscopeV3Device.rst index 45a7c0b4..1abbc8e3 100644 --- a/source/Software Guide/Bonsai.ONIX/Nodes/MiniscopeV3Device.rst +++ b/source/Software Guide/Bonsai.ONIX/Nodes/MiniscopeV3Device.rst @@ -1,3 +1,5 @@ +.. include:: ../deprecation-notice.rst + .. _bonsai_miniscopev3dev: MiniscopeV3Device diff --git a/source/Software Guide/Bonsai.ONIX/Nodes/MiniscopeV4BNO055Device.rst b/source/Software Guide/Bonsai.ONIX/Nodes/MiniscopeV4BNO055Device.rst index 5c242e84..9bb38bdb 100644 --- a/source/Software Guide/Bonsai.ONIX/Nodes/MiniscopeV4BNO055Device.rst +++ b/source/Software Guide/Bonsai.ONIX/Nodes/MiniscopeV4BNO055Device.rst @@ -1,3 +1,5 @@ +.. include:: ../deprecation-notice.rst + .. _bonsai_miniscopev4bno055dev: MiniscopeV4BNO055Device diff --git a/source/Software Guide/Bonsai.ONIX/Nodes/MiniscopeV4Device.rst b/source/Software Guide/Bonsai.ONIX/Nodes/MiniscopeV4Device.rst index 15dc3d44..ef21631e 100644 --- a/source/Software Guide/Bonsai.ONIX/Nodes/MiniscopeV4Device.rst +++ b/source/Software Guide/Bonsai.ONIX/Nodes/MiniscopeV4Device.rst @@ -1,3 +1,5 @@ +.. include:: ../deprecation-notice.rst + .. _bonsai_miniscopev4dev: MiniscopeV4Device diff --git a/source/Software Guide/Bonsai.ONIX/Nodes/NeuropixelsV1Device.rst b/source/Software Guide/Bonsai.ONIX/Nodes/NeuropixelsV1Device.rst index 37115e2e..5a298233 100644 --- a/source/Software Guide/Bonsai.ONIX/Nodes/NeuropixelsV1Device.rst +++ b/source/Software Guide/Bonsai.ONIX/Nodes/NeuropixelsV1Device.rst @@ -1,3 +1,5 @@ +.. include:: ../deprecation-notice.rst + .. _bonsai_neuropixelsv1dev: NeuropixelsV1Device diff --git a/source/Software Guide/Bonsai.ONIX/Nodes/NeuropixelsV1eDevice.rst b/source/Software Guide/Bonsai.ONIX/Nodes/NeuropixelsV1eDevice.rst index 8ccd78d9..42ffa9a6 100644 --- a/source/Software Guide/Bonsai.ONIX/Nodes/NeuropixelsV1eDevice.rst +++ b/source/Software Guide/Bonsai.ONIX/Nodes/NeuropixelsV1eDevice.rst @@ -1,3 +1,5 @@ +.. include:: ../deprecation-notice.rst + .. _bonsai_NeuropixelsV1edev: NeuropixelsV1eDevice diff --git a/source/Software Guide/Bonsai.ONIX/Nodes/ONIContext.rst b/source/Software Guide/Bonsai.ONIX/Nodes/ONIContext.rst index 17c09457..ef01db15 100644 --- a/source/Software Guide/Bonsai.ONIX/Nodes/ONIContext.rst +++ b/source/Software Guide/Bonsai.ONIX/Nodes/ONIContext.rst @@ -1,3 +1,5 @@ +.. include:: ../deprecation-notice.rst + .. |refresh_icon| image:: /_static/bonsai/onicontext/ONIContext_refresh-icon.png :height: 19 diff --git a/source/Software Guide/Bonsai.ONIX/Nodes/OpticalStimulationDevice.rst b/source/Software Guide/Bonsai.ONIX/Nodes/OpticalStimulationDevice.rst index 67ffb4f2..78971319 100644 --- a/source/Software Guide/Bonsai.ONIX/Nodes/OpticalStimulationDevice.rst +++ b/source/Software Guide/Bonsai.ONIX/Nodes/OpticalStimulationDevice.rst @@ -1,3 +1,5 @@ +.. include:: ../deprecation-notice.rst + .. _bonsai_ostimdev: OpticalStimulationDevice diff --git a/source/Software Guide/Bonsai.ONIX/Nodes/RHD2164Device.rst b/source/Software Guide/Bonsai.ONIX/Nodes/RHD2164Device.rst index 1188dc86..d10dbffd 100644 --- a/source/Software Guide/Bonsai.ONIX/Nodes/RHD2164Device.rst +++ b/source/Software Guide/Bonsai.ONIX/Nodes/RHD2164Device.rst @@ -1,3 +1,5 @@ +.. include:: ../deprecation-notice.rst + .. _bonsai_rhd2164dev: RHD2164Device diff --git a/source/Software Guide/Bonsai.ONIX/Nodes/RHS2116Device.rst b/source/Software Guide/Bonsai.ONIX/Nodes/RHS2116Device.rst index 12f87e79..7edd3126 100644 --- a/source/Software Guide/Bonsai.ONIX/Nodes/RHS2116Device.rst +++ b/source/Software Guide/Bonsai.ONIX/Nodes/RHS2116Device.rst @@ -1,3 +1,5 @@ +.. include:: ../deprecation-notice.rst + .. _bonsai_rhs2116dev: RHS2116Device diff --git a/source/Software Guide/Bonsai.ONIX/Nodes/RHS2116TriggerDevice.rst b/source/Software Guide/Bonsai.ONIX/Nodes/RHS2116TriggerDevice.rst index bce351a3..e9aad2c9 100644 --- a/source/Software Guide/Bonsai.ONIX/Nodes/RHS2116TriggerDevice.rst +++ b/source/Software Guide/Bonsai.ONIX/Nodes/RHS2116TriggerDevice.rst @@ -1,3 +1,5 @@ +.. include:: ../deprecation-notice.rst + .. _bonsai_rhs2116triggerdev: RHS2116TriggerDevice diff --git a/source/Software Guide/Bonsai.ONIX/Nodes/TS4231V1Device.rst b/source/Software Guide/Bonsai.ONIX/Nodes/TS4231V1Device.rst index 30013edd..553f340e 100644 --- a/source/Software Guide/Bonsai.ONIX/Nodes/TS4231V1Device.rst +++ b/source/Software Guide/Bonsai.ONIX/Nodes/TS4231V1Device.rst @@ -1,3 +1,5 @@ +.. include:: ../deprecation-notice.rst + .. _bonsai_ts4231v1dev: TS4231V1Device diff --git a/source/Software Guide/Bonsai.ONIX/Nodes/index.rst b/source/Software Guide/Bonsai.ONIX/Nodes/index.rst index 063b0860..07f6c1d9 100644 --- a/source/Software Guide/Bonsai.ONIX/Nodes/index.rst +++ b/source/Software Guide/Bonsai.ONIX/Nodes/index.rst @@ -1,3 +1,5 @@ +.. include:: ../deprecation-notice.rst + .. Important: The names of pages for nodes must match their Bonsai.ONIX class names so that documentation can be opened from the Bonsai Editor! diff --git a/source/Software Guide/Bonsai.ONIX/deprecation-notice.rst b/source/Software Guide/Bonsai.ONIX/deprecation-notice.rst new file mode 100644 index 00000000..9f18ae2c --- /dev/null +++ b/source/Software Guide/Bonsai.ONIX/deprecation-notice.rst @@ -0,0 +1,5 @@ +.. deprecated:: 1.2.13 + + Bonsai.ONIX is deprecated. + + To use ONIX with Bonsai, refer to the documentation for `OpenEphys.Onix1 `__. \ No newline at end of file diff --git a/source/Software Guide/Bonsai.ONIX/index.rst b/source/Software Guide/Bonsai.ONIX/index.rst index 50980d64..55867cbf 100644 --- a/source/Software Guide/Bonsai.ONIX/index.rst +++ b/source/Software Guide/Bonsai.ONIX/index.rst @@ -1,3 +1,5 @@ +.. include:: deprecation-notice.rst + .. |download_image| image:: /_static/download.svg :height: 18 .. |copy_image| image:: /_static/copy.svg diff --git a/source/Software Guide/index.rst b/source/Software Guide/index.rst index b17584be..929ebafd 100644 --- a/source/Software Guide/index.rst +++ b/source/Software Guide/index.rst @@ -7,8 +7,9 @@ :hidden: oni-repl/index - Bonsai.ONIX/index + Onix Bonsai Library Open Ephys GUI/index + Bonsai.ONIX (DEPRECATED) |software_logo| Software Guide =================================== @@ -20,11 +21,17 @@ hardware produces. - The :ref:`oni_repl` pages document a low-level C program that can be used for debugging and basic streaming IO with ONIX hardware. -- The :ref:`bonsai_onixref` pages provide detailed information about the ONIX - Bonsai library. +- The `OpenEphys.Onix1 `__ pages detail how to use the ONIX Bonsai library. - The :ref:`open_ephys_gui` page shows how ephys data can be streamed the Open Ephys GUI to take advantage of its excellent visualization capabilities. +Deprecated +----------- + +- The :ref:`bonsai_onixref` pages provide detailed information about the deprecated ONIX + Bonsai library. + + .. tip:: If you want to use ONIX hardware with your acquisition software, please :ref:`get in touch `. It's not as hard as you might think :). diff --git a/source/Software Guide/onix1.rst b/source/Software Guide/onix1.rst new file mode 100644 index 00000000..264d6ee7 --- /dev/null +++ b/source/Software Guide/onix1.rst @@ -0,0 +1,14 @@ +.. _onix1: + +OpenEphys.Onix1 +=============== + +`OpenEphys.Onix1 `__ is the `Bonsai +`__ library for ONIX hardware. This library contains +`Bonsai Operators `__ for +acquiring and sending data to ONIX hardware. + +.. figure:: ../_static/images/onix1-example.svg + + An example Bonsai workflow using the `OpenEphys.Onix1 `__ + library that visualizes data in real-time and automatically commutates as the animal reorients \ No newline at end of file diff --git a/source/_static/images/onix1-example.svg b/source/_static/images/onix1-example.svg new file mode 100644 index 00000000..0a821dcc --- /dev/null +++ b/source/_static/images/onix1-example.svg @@ -0,0 +1,3 @@ + +]>StartAcquisitionAmplifierDataClockCommutatorRollingGraphClockPercentUsedBreakoutBoardNeuropixelsV2eDataQuaternionMemoryMonitorDataNeuropixelsV2eHeadstageNeuropixelsV2eBno055DataCreateContext \ No newline at end of file From ea1134927882fdb73323ddb609100f3847902540 Mon Sep 17 00:00:00 2001 From: cjsha Date: Thu, 8 Aug 2024 08:13:03 -0400 Subject: [PATCH 2/7] Bonsai.Onix deprecation notices in Hardware Guide - There are a few parts of the Hardware Guide that need to be updated for the OpenEphys.Onix1 0.1.0 release: - Add a note that the headstage voltages are set automatically by the new library (unless manually specified otherwise) - Add a deprecation note where the Bonsai installation process is described - Add a note that double-clicking the OniContext node applies to the deprecated Bonsai.Onix package --- source/Hardware Guide/Headstages/setup.rst | 2 +- source/Hardware Guide/Headstages/tether-voltage.rst | 1 + source/Hardware Guide/PCIe Host/setup-windows.rst | 3 +++ 3 files changed, 5 insertions(+), 1 deletion(-) diff --git a/source/Hardware Guide/Headstages/setup.rst b/source/Hardware Guide/Headstages/setup.rst index f6f212c9..36f9fc39 100644 --- a/source/Hardware Guide/Headstages/setup.rst +++ b/source/Hardware Guide/Headstages/setup.rst @@ -7,4 +7,4 @@ Setup - The LED on the breakout board (and the PCIe board itself, if visible) should turn purple when the link is made between the headstage and the PCIe host board. -- Double-clicking on the OniContext node in Bonsai should now show an additional tab, labelled with the type of headstage. +- If you are using the deprecated Bonsai.Onix Bonsai package, double-clicking on the OniContext node in Bonsai should now show an additional tab, labelled with the type of headstage. diff --git a/source/Hardware Guide/Headstages/tether-voltage.rst b/source/Hardware Guide/Headstages/tether-voltage.rst index 362b692c..482b7e4a 100644 --- a/source/Hardware Guide/Headstages/tether-voltage.rst +++ b/source/Hardware Guide/Headstages/tether-voltage.rst @@ -7,6 +7,7 @@ headstage will not function reliably. If the voltage is too high sensitive components could be damaged. Many issues with the system can be traced back to inadequate headstage voltage supply. +.. attention:: The `OpenEphys.Onix1 Bonsai library `__ automatically sets the headstage port voltage unless specified otherwise. Please use the updated library rather than the deprecated Bonsai.Onix Bonsai library which does not provide that feature. Setting headstage voltage -------------------------- diff --git a/source/Hardware Guide/PCIe Host/setup-windows.rst b/source/Hardware Guide/PCIe Host/setup-windows.rst index e4c6c39b..61986525 100644 --- a/source/Hardware Guide/PCIe Host/setup-windows.rst +++ b/source/Hardware Guide/PCIe Host/setup-windows.rst @@ -117,6 +117,9 @@ Install Device Driver Install ONIX Bonsai Library --------------------------------------- + +.. include:: ../../Software Guide/Bonsai.ONIX/deprecation-notice.rst + #. If you don't have Bonsai on your computer, visit https://bonsai-rx.org/ and install the latest release. #. Open Bonsai. At the start menu, select **Manage Packages**. From ab4c884dba3cdb9a77fb38994b5135721aca8fd0 Mon Sep 17 00:00:00 2001 From: jonnw Date: Thu, 8 Aug 2024 14:43:13 -0400 Subject: [PATCH 3/7] Continue to clarify software options - Improved clarity of descriptions and ordering of presentation of software options --- .../Software Guide/Open Ephys GUI/index.rst | 46 +--- .../Software Guide/OpenEphys.Onix1/index.rst | 31 +++ source/Software Guide/index.rst | 39 +-- source/Software Guide/onix1.rst | 14 - source/_static/images/bonsai-lettering.svg | 258 ++++++++++++++++++ source/_static/theme_overrides.css | 26 +- 6 files changed, 341 insertions(+), 73 deletions(-) create mode 100644 source/Software Guide/OpenEphys.Onix1/index.rst delete mode 100644 source/Software Guide/onix1.rst create mode 100644 source/_static/images/bonsai-lettering.svg diff --git a/source/Software Guide/Open Ephys GUI/index.rst b/source/Software Guide/Open Ephys GUI/index.rst index 18776e2c..a1738eba 100644 --- a/source/Software Guide/Open Ephys GUI/index.rst +++ b/source/Software Guide/Open Ephys GUI/index.rst @@ -1,43 +1,19 @@ .. _open_ephys_gui: Open Ephys GUI ---------------------------------------------- -There is currently no dedicated ONIX plugin available for the `Open Ephys GUI -`__. The Open Ephys GUI is -built primarily for multichannel electrophysiology using an audio processing -library that makes it difficult to deal with multiple asynchronous data -streams. +-------------------------------------------- -.. note:: Have a look at the `Open Ephys GUI documentation - `_ - for information on the GUI's design. +The `Open Ephys GUI `__ is an +open-source, plugin-based application for acquiring extracellular +electrophysiology data. It was designed by neuroscientists to make their +experiments more flexible and enjoyable. It works equally well on macOS, Linux, +and Windows. -This is fine when the data being processed is synchronized ephys and auxiliary -data. However, by design, ONIX hardware makes no such guarantees about the -nature of the data it produces. On the contrary, an -**Acquisition Context** manages a table of devices that are -potentially all asynchronous from one another. Even though each sample from -these devices is individually time-stamped in hardware, there is no guarantee -of when they will arrive or in what order. This necessitates the use of -event-driven acquisition software that only propagates data when its received, -and this is where `Bonsai `__ really shines. For this -reason, we have dedicated the majority of our development effort toward the -:ref:`Bonsai.ONIX ` library. +.. note:: An ONIX plugin for the Open Ephys is in development. To access all of + ONIX's capabilities right now, have a look at the :ref:`Bonsai library + `. **You can still take advantage of the GUI's excellent + ephys visualizaiton tools by streaming data from Bonsai to the GUI using + the** `Ephys Socket Plugin `__. -Using the Open Ephys GUI for ONIX Data Visualization --------------------------------------------------------------- -Bonsai provides advanced access to GPU visualization capabilities, but has to -be manually programmed to generate high performance real-time plotting. This can -be a hurdle for those that just want to see if they have their probe in the -right spot. In the future, we aim to change this situation, and eventually -provide first-class native ephys visualization capabilities in the Bonsai -Editor. -.. note:: If you want to help improve Bonsai's Ephys visualization capabilites, - :ref:`get in touch `. - -In the meantime we can take advantage of the Ephys GUI's visualization and -audio streaming by the `Ephys Socket Plugin -`__ -to receive data from Bonsai. diff --git a/source/Software Guide/OpenEphys.Onix1/index.rst b/source/Software Guide/OpenEphys.Onix1/index.rst new file mode 100644 index 00000000..aeae155a --- /dev/null +++ b/source/Software Guide/OpenEphys.Onix1/index.rst @@ -0,0 +1,31 @@ +.. _openephys_onix1ref: + +Bonsai +======================== + +`Bonsai `__ is a visual programming language (think +LabView) for reactive programming. It is lightweight and easy to use with a +variety of packages and modules for interfacing with hardware and for real-time +processing and manipulation of data streams. `OpenEphys.Onix1 +`__ is a Bonsai +library for ONIX hardware. This library contains `Bonsai Operators +`__ for acquiring and +sending data to ONIX hardware. + +:Code: https://github.com/open-ephys/onix-bonsai-onix1 +:Compatibility: ONIX Hardware, UCLA miniscopes & variants +:Documentation: https://open-ephys.github.io/onix1-bonsai-docs/index.html + +.. raw:: html + + +
+ +
+

Go to the ONIX library Docs

+
+ OpenEphys.Onix1 bonsai
+            library documentation + +
diff --git a/source/Software Guide/index.rst b/source/Software Guide/index.rst index 929ebafd..3b352b19 100644 --- a/source/Software Guide/index.rst +++ b/source/Software Guide/index.rst @@ -6,32 +6,35 @@ .. toctree:: :hidden: - oni-repl/index - Onix Bonsai Library + OpenEphys.Onix1/index Open Ephys GUI/index + oni-repl/index Bonsai.ONIX (DEPRECATED) |software_logo| Software Guide =================================== -Although ONIX is software agnostic, we have focused our development efforts on `Bonsai `__ for data acquisition. Bonsai is -very good at dealing with the asynchronous and heterogeneous data that ONIX -hardware produces. +:ref:`Bonsai ` + A `Bonsai `__ library for acquiring data from ONIX + hardware for real-time experiments. Bonsai is very good at processing the + heterogeneous data streams produced by ONIX hardware. + +:ref:`Open Ephys GUI ` + The Open Ephys GUI can be used for ONIX data visualization. -- The :ref:`oni_repl` pages document a low-level C program that - can be used for debugging and basic streaming IO with ONIX - hardware. -- The `OpenEphys.Onix1 `__ pages detail how to use the ONIX Bonsai library. -- The :ref:`open_ephys_gui` page shows how ephys data can be streamed the Open - Ephys GUI to take advantage of its excellent visualization capabilities. +:ref:`oni-repl ` + A simple command-line application that can be used for debugging and basic + streaming IO with ONIX hardware. -Deprecated ------------ +.. tip:: ONIX uses an `ONI-compliant API + `__ that is software + agnostic. There are several software options for acquiring data from ONIX + hardware If you want to use ONIX hardware with your acquisition software, + please :ref:`get in touch `. -- The :ref:`bonsai_onixref` pages provide detailed information about the deprecated ONIX - Bonsai library. +Deprecated Software +___________________________________ +- The :ref:`bonsai_onixref` pages provide information about the original Bonsai + library, which has been superseded by :ref:`openephys_onix1ref` -.. tip:: If you want to use ONIX hardware with your acquisition software, - please :ref:`get in touch `. It's not as hard as you might think - :). diff --git a/source/Software Guide/onix1.rst b/source/Software Guide/onix1.rst deleted file mode 100644 index 264d6ee7..00000000 --- a/source/Software Guide/onix1.rst +++ /dev/null @@ -1,14 +0,0 @@ -.. _onix1: - -OpenEphys.Onix1 -=============== - -`OpenEphys.Onix1 `__ is the `Bonsai -`__ library for ONIX hardware. This library contains -`Bonsai Operators `__ for -acquiring and sending data to ONIX hardware. - -.. figure:: ../_static/images/onix1-example.svg - - An example Bonsai workflow using the `OpenEphys.Onix1 `__ - library that visualizes data in real-time and automatically commutates as the animal reorients \ No newline at end of file diff --git a/source/_static/images/bonsai-lettering.svg b/source/_static/images/bonsai-lettering.svg new file mode 100644 index 00000000..720f73c4 --- /dev/null +++ b/source/_static/images/bonsai-lettering.svg @@ -0,0 +1,258 @@ + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/source/_static/theme_overrides.css b/source/_static/theme_overrides.css index 151e541d..c30c4176 100644 --- a/source/_static/theme_overrides.css +++ b/source/_static/theme_overrides.css @@ -254,24 +254,38 @@ h6 { margin-top: 2em; } -.card { - border: 0; -} - .intro-card { transition: transform 0.2s ease; border: 0; } + .intro-card:hover { transform: scale(1.05); } - .col-lg-6 { margin-top: 2em; } +.page-card { + transition: transform 0.2s ease; + background-color: #FFFFFF; + border-color: #000000; + padding: 20px; + color: var(--onix-txt-color) !important; + transform: scale(0.9); +} + +.page-card:hover { + transform: scale(1.00); +} +.page-card-img-marg { + margin-top: 2em; + margin-bottom: 1em; + margin-right: 5em; + margin-left: 5em; +} /* Gallery cards */ @@ -421,4 +435,4 @@ img { .hint>.admonition-title:before { color: #519141 !important; -} \ No newline at end of file +} From 1189a8f43ed19e0c50e27bb6c357a1045e92890f Mon Sep 17 00:00:00 2001 From: jonnw Date: Thu, 8 Aug 2024 15:41:32 -0400 Subject: [PATCH 4/7] Clarifications to general docs content - Getting started, warnings, etc. --- source/Getting Started/index.rst | 9 +-- source/Getting Started/warnings.rst | 83 ++++++--------------------- source/Getting Started/whatisonix.rst | 63 +++++++++++--------- source/Resources/faq.rst | 7 +-- source/Software Guide/index.rst | 17 +++--- 5 files changed, 67 insertions(+), 112 deletions(-) diff --git a/source/Getting Started/index.rst b/source/Getting Started/index.rst index a9fa6e2f..aa361c96 100644 --- a/source/Getting Started/index.rst +++ b/source/Getting Started/index.rst @@ -34,7 +34,7 @@ Usage Warnings Read :ref:`Usage Warnings` before starting to work with the system to avoid causing damage to system components. -Setting up ONIX +Setting up your system -------------------------------- #. Check that you have all the necessary hardware. A full ONIX setup consists of: @@ -69,11 +69,8 @@ Setting up ONIX :ref:`following these steps `. Be sure to read :ref:`this page on the voltage supplied to the headstage ` to prevent damaging your headstage. -#. Test the installation. - - .. todo:: Bonsai workflows for testing each component Using ONIX -------------------------------- -ONIX uses Bonsai for data acquisition. See the :ref:`bonsai_gettingstarted` -page to learn how to install Bonsai and use it to acquire from ONIX. +Have a look at the :ref:`software_guide` page to explore +software options and for intefacing with ONIX hardware. diff --git a/source/Getting Started/warnings.rst b/source/Getting Started/warnings.rst index c80986de..0dcf1d93 100644 --- a/source/Getting Started/warnings.rst +++ b/source/Getting Started/warnings.rst @@ -5,80 +5,31 @@ Usage Warnings ========================================== + .. warning:: Improper setup and usage can cause damage to system components. -- Read the following warnings before starting to work with your system. These are crucial - aspects to consider during setup and usage that are included in the documentation but - are listed here for your convenience. -- Read the complete documentation carefully to understand how the system works and refer - back to these warnings before using it. + - Read the following warnings before starting to work with your system. These + are crucial aspects to consider during setup and usage that are included in + the documentation but are listed here for your convenience. + - Read the complete documentation carefully to understand how the system works + and refer back to these warnings before using it. -Hardware +Breakout Board -------------------------------- -- Connecting or disconnecting the breakout board while the PC is on causes damage to the - FMChost. For more details, see :ref:`breakout_setup`. - -.. warning:: - **Power off the PC before connecting/disconnecting the breakout board.** -- Headstage voltage must be configured correctly for operation. The voltage that works - for one headstage can damage another, and depends on your hardware configuration such - as tether length. For more details, see :ref:`tether_voltage`. - -.. warning:: - **Ensure each headstage is configured with the correct voltage according to its - specification before connecting and switching on the headstage port switch.** +.. warning:: Connecting or disconnecting the :ref:`breakout` while the PC is on + can damage to the :ref:`pcie_host`. For more details, see + :ref:`breakout_setup`. **Power off the PC before connecting/disconnecting the + breakout board.** - -Software +Headstage Voltages -------------------------------- -*For the current Bonsai.ONIX library which is being revised to improve usability* - -- Headstage port voltage configuration is managed via the :ref:`bonsai_onicontext` node - or the :ref:`bonsai_headstageportcontroldev` node. The changes you make using these - nodes apply immediately and persist in hardware even if the Bonsai workflow is not - running. Headstage port voltage is reset to the default 4.9V only on a power cycle - (power off and on — not reboot). .. warning:: - **Keep the headstage port switches off until you have configured each port correctly.** - -.. warning:: - **Remember to set the headstage voltage to the desired value after a power cycle.** - -- The :ref:`bonsai_onicontext` provides a dynamic window to read and write to hardware, - but parameters such as device voltage are not saved in the node when the workflow is - saved. The :ref:`bonsai_headstageportcontroldev` node also reads and writes to hardware, - but parameters are saved with the workflow. On loading a workflow, Bonsai writes the - parameter values set when the workflow was last saved. + **Ensure each headstage is configured with the correct voltage.** Although + headstages are quite tolerate of over-voltage and under-voltage conditions, + they are only gaurenteed to function wihtin a specified range. When using + long and/or thin tethers, the voltage drop across the cable can become + signficant. For more details, see :ref:`tether_voltage`. -.. warning:: - When you configure the voltage, the :ref:`bonsai_onicontext` node shows that value - and when you save the workflow this value is not saved. Therefore, that value will - not be set to hardware when you load the workflow again. On loading the workflow, - the :ref:`bonsai_onicontext` node will be reading the voltage that is already set - on the hardware and showing this in the ``LinkVoltage`` field. - -.. warning:: - When you configure the voltage, the :ref:`bonsai_headstageportcontroldev` node shows - that value and when you save the workflow this value is saved. Therefore, that value - will be set to hardware when you load the workflow again. If you make changes to the - voltage value (with any node) and save the workflow, they will be saved in the - ``LinkVoltage`` property of the :ref:`bonsai_headstageportcontroldev` node. - -- Any workflows containing the :ref:`bonsai_NeuropixelsV1edev` node require the - :ref:`headstage_neuropix1e` to be connected before the workflows can be opened or - loaded into Bonsai. - -.. warning:: - Check that the voltage set to the headstage port is correct for the - :ref:`headstage_neuropix1e` by using a workflow of a single :ref:`bonsai_onicontext` - node to configure it before connecting the headstage in order to open a workflow that - contains the :ref:`bonsai_NeuropixelsV1edev` node. - -- An :ref:`bonsai_onicontext` node or any device node in a workflow can override device - settings in another workflow if device addresses are not distinct, because these nodes - read/write directly to hardware. -.. warning:: - **Only have one workflow open at a time.** diff --git a/source/Getting Started/whatisonix.rst b/source/Getting Started/whatisonix.rst index e207a651..df6133a5 100644 --- a/source/Getting Started/whatisonix.rst +++ b/source/Getting Started/whatisonix.rst @@ -6,9 +6,9 @@ What is ONIX? ========================================== ONIX is a data acquisition system for neuroscience, composed of various pieces -of hardware. ONIX differs from other acquisition systems in three major points: +of hardware. ONIX differs from other acquisition systems in three ways: -1. Standards +1. Standards & Interoperability -------------------------------- All acquisition systems follow specific sets of rules that outline how data is structured and transmitted between parts of the system. For instance, Intan @@ -32,21 +32,21 @@ money purchasing separate acquisition systems for each extra tool they wish to add to their experiment. Additionally, for those who want to develop new tools to study the brain, ONIX provides a powerful hardware backend and software infrastructure that can be reused to control almost any type of recoding -instrument. +instrument. -2. Tethers --------------------------------- +2. Thin Tethers & Zero Torque Commutation +------------------------------------------- There is a growing appreciation of experiments that examine the natural behaviours of animals. This often means using larger and more intricate (perhaps 3D) experimental setups. It also means that the animal should be impaired as little as possible by the recording setup. To achieve this it is of course important to reducing the weight of the headstage, but the weight of the tether that connects the headstage to the acquisition system is often -overlooked. As the animal explores the arena, the centre of mass of the tether +overlooked. As the animal explores the arena, the center of mass of the tether is rarely directly above the animal. Instead, it is off to one side, -introducing a rotational force on the animal. The animal must compensate for -this torque in order to keep its head up straight. Because the ONI -specification allows communication over a single wire, ONIX uses a single +introducing a rotational force (torque) on the animal. The animal must +compensate for this torque in order to keep its head up straight. Because the +ONI specification allows communication over a single wire, ONIX uses a single coaxial cable, making ONIX tethers lighter and thinner compared to classic acquisition systems. ONIX tethers are 0.1 to 0.4 mm in diameter and are extremely flexible. @@ -56,28 +56,37 @@ becoming twisted. Commutators are hardware devices that allow the tether to rotate while maintaining an electrical connection to the rest of the path to the acquisition system. As the animal moves through the arena, the ONIX commutator receives 3D tracking information from the headstage and drives a -motor to actively rotate the tether, preventing twisting. +motor to actively rotate the tether, preventing twisting. Importantly, this +process is driven by real-time measurement of headstage rotation, *not by +torque transmitted by the tether*. This allows nearly zero-torque commutation +and the use of tethers that are so thin, they would not not function in systems +that require torque measurements to drive active commutation. -3. Latencies +3. Low Latencies -------------------------------- In closed-loop experiments, data is not only acquired, but also processed and acted upon. For instance, one can provide optogenetic stimulation to a brain area every time a certain type of event is detected by an extracellular probe. The closed-loop latency of the acquisition system describes how much time -passes between the initial event and the response of the system. In classic -acquisition systems, this time is primarily spent on transmitting and -processing acquired data, which becomes more and more challenging as the number -of channels on a probe increases. A short latency allows the user to respond on -the timescale of the biological event; for instance, within the integration -window of a neuron. +passes between the physical event and the response of the real-time system. A +short latency allows the user to respond on the timescale of the biological +event; for instance, within the integration window of a neuron. + +Many acquisition systems rely on a USB connection between the acquisition board +and PC. Or, they rely on closed-source 3rd-party drivers and APIs that are not +optimized for low response latencies. The slower transfer characteristics of +USB means that a typical closed-loop latency is in the range of several +to tens of milliseconds. This is a considerable duration for the brain, as it +is notably longer than the average action potential duration of around 1 ms. On +average, ONIX provides much shorter latencies, of around 150 microseconds, because: + +- ONIX is transfers data to the host computer without the CPU via DMA over PCIe. +- ONIX uses a custom device driver optimized for low latency. +- The ONI API allows explicit control over a single parameter to governs the + trade off between data latency and overall bandwidth. -Many classic acquisition systems rely on a USB connection between the -acquisition board and PC. The slower transfer characteristics of USB means that -a typical closed-loop latency would be in the range of several to tens of -milliseconds. This is a considerable duration for the brain, as it is notably -longer than the average action potential duration of around 1 ms. ONIX has much -shorter latencies, of around 150 microseconds, because the host board of ONIX -is directly connected to the acquisition PC, in a PCIe slot. This means that -the system can respond quickly to detected events. It also means that time is -freed up for this detection itself; by reducing the overhead time, more complex -analysis can be run to extract the phenomenon you are interested in. +This permits the user to optimize their system's response time for a given +experiment. In all, this means that the system can respond quickly to detected +events. It also means that time is freed up for this detection itself; by +reducing the overhead time, more complex analysis can be run to extract the +phenomenon you are interested in. diff --git a/source/Resources/faq.rst b/source/Resources/faq.rst index b10a199f..ed921404 100644 --- a/source/Resources/faq.rst +++ b/source/Resources/faq.rst @@ -26,8 +26,7 @@ FAQ comprehensive overview of our mission and projects. Is ONIX hardware available for purchase? - The system is currently in a beta test phase and will be made available on - the `Open Ephys Store `_ following that. + Yes, its available on the `Open Ephys Store `_. Where do I get help when using the system? Have a look at the :ref:`support` page. @@ -48,13 +47,13 @@ FAQ I have existing acquisition hardware. Can I can use your API and software to acquire data from it? Yes. We tried to design our API so that it decouples hardware details - from software in a generic way. Have a look at the + from software in a generic way. Have a look at the `Driver Translators `_ page for more information on how to use the ONIX API with your hardware. Depending on how your device communicates with the computer it may only take 10's of lines of C. I have existing acquisition software. Can I integrate support for ONIX hardware using your API? - Yes. Have a look at the `ONI API Documentation `_ + Yes. Have a look at the `ONI API Documentation `_ to get started. Also let us know if you want help. diff --git a/source/Software Guide/index.rst b/source/Software Guide/index.rst index 3b352b19..9219b9ca 100644 --- a/source/Software Guide/index.rst +++ b/source/Software Guide/index.rst @@ -1,7 +1,10 @@ .. |software_logo| image:: /_static/noun_macbook.svg :height: 60 -.. _software: +.. _software_guide: + +|software_logo| Software Guide +=================================== .. toctree:: :hidden: @@ -11,25 +14,21 @@ oni-repl/index Bonsai.ONIX (DEPRECATED) -|software_logo| Software Guide -=================================== - -:ref:`Bonsai ` +:ref:`Bonsai ` A `Bonsai `__ library for acquiring data from ONIX hardware for real-time experiments. Bonsai is very good at processing the heterogeneous data streams produced by ONIX hardware. -:ref:`Open Ephys GUI ` +:ref:`Open Ephys GUI ` The Open Ephys GUI can be used for ONIX data visualization. -:ref:`oni-repl ` +:ref:`oni-repl ` A simple command-line application that can be used for debugging and basic streaming IO with ONIX hardware. .. tip:: ONIX uses an `ONI-compliant API `__ that is software - agnostic. There are several software options for acquiring data from ONIX - hardware If you want to use ONIX hardware with your acquisition software, + agnostic. If you want to use ONIX hardware with your acquisition software, please :ref:`get in touch `. Deprecated Software From dffb46875e9707f0ab6cad8a941ad42b825362ea Mon Sep 17 00:00:00 2001 From: jonnw Date: Fri, 9 Aug 2024 09:51:17 -0400 Subject: [PATCH 5/7] Remove references to Bonsai.ONIX - A couple mentions of the new library, but largely agnostic --- source/Hardware Guide/Commutators/index.rst | 24 +++--- .../Datasheets/fmc-link-control.rst | 4 +- source/Hardware Guide/Headstages/rhs2116.rst | 81 ++++++------------- source/Hardware Guide/Headstages/setup.rst | 10 +-- .../Headstages/tether-voltage.rst | 78 ++++++++---------- source/Hardware Guide/Miniscopes/index.rst | 11 +-- source/Hardware Guide/PCIe Host/overview.rst | 16 ++-- .../PCIe Host/setup-windows.rst | 27 +------ 8 files changed, 89 insertions(+), 162 deletions(-) diff --git a/source/Hardware Guide/Commutators/index.rst b/source/Hardware Guide/Commutators/index.rst index 2a455de4..c83532ac 100644 --- a/source/Hardware Guide/Commutators/index.rst +++ b/source/Hardware Guide/Commutators/index.rst @@ -2,14 +2,16 @@ Coaxial Commutators =================================== -Active, near-zero torque commutators to prevent tether twisting during -freely moving recordings with headstages and/or miniscopes. -This page provides a very brief overview of the commutators; for a more extensive -walkthrough, please follow the documentation link for `Commutators `__. +Active, near-zero torque commutators to prevent tether twisting during freely +moving recordings with headstages and/or miniscopes. This page provides a very +brief overview of the commutators; for a more extensive walkthrough, please +follow the documentation link for `Commutators +`__. :Design Repository: https://github.com/open-ephys/commutators -:Compatibility: :ref:`pcie_host`, :ref:`headstage_64`, - :ref:`headstage_neuropix1`, :ref:`miniscopes` +:Compatibility: All coaxial headstags (e.g. :ref:`headstage_64`, + :ref:`headstage_neuropix2e`, :ref:`miniscopes`) +:Documentation: https://open-ephys.github.io/commutator-docs/index.html .. _commutators_overview: @@ -24,11 +26,11 @@ Overview ONIX uses an active commutator to prevents tether twisting during freely moving recordings. A inertial measurement unit (IMU) on the headstage or miniscope sends orientation data to the host computer. Because the real-time orientation -of the animal is known, software (e.g. Bonsai) can be used to send commands to -the commutator via its USB interface, and the motor in the commutator will turn -when the animal does. A high-quality radio-frequency rotary joint inside the -commutator maintains electrical connectivity for both power and high-frequency -data signals between the tether leading to the headstage and the coaxial cable +of the animal is known, software can be used to send commands to the commutator +via its USB interface, and the motor in the commutator will turn when the +animal does. A high-quality radio-frequency rotary joint inside the commutator +maintains electrical connectivity for both power and high-frequency data +signals between the tether leading to the headstage and the coaxial cable leading to the PCIe host board while turning. Features diff --git a/source/Hardware Guide/Datasheets/fmc-link-control.rst b/source/Hardware Guide/Datasheets/fmc-link-control.rst index 0e5e96f8..73b26673 100644 --- a/source/Hardware Guide/Datasheets/fmc-link-control.rst +++ b/source/Hardware Guide/Datasheets/fmc-link-control.rst @@ -12,8 +12,8 @@ Description ******************************************* The **FMC Host Link Controller** is used to control and monitor DS90UB9x-based serialized connections to hubs connected to a host such as headstages and -miniscopes. It can control power provided to those hubs and receives RF lock, -CRC error, and other information. +miniscopes. It can control the voltage provided to those hubs and receives RF +lock, CRC error, and other diagnostic information. .. note:: diff --git a/source/Hardware Guide/Headstages/rhs2116.rst b/source/Hardware Guide/Headstages/rhs2116.rst index 9762b62b..12a89677 100644 --- a/source/Hardware Guide/Headstages/rhs2116.rst +++ b/source/Hardware Guide/Headstages/rhs2116.rst @@ -9,23 +9,21 @@ RHS2116 Headstage | -The RHS2116 Headstage is a serialized headstage for small animals with 32 channels which can independently be configured as stimulator outputs or amplifier inputs. The RHS2116 can be used with passive probes (e.g. silicon arrays, EEG/ECOG arrays, etc) using a 36-Channel Omnetics EIB. To learn how to use the RHS2116 headstage in software, refer to the :doc:`/Software Guide/Bonsai.ONIX/Nodes/RHS2116Device` software guide. For technical information, refer to the :doc:`/Hardware Guide/Datasheets/rhs2116` datasheet. - -.. warning:: There are multiple headstage hardware revisions. The revision number is printed on the PCB. You can use the `compatibility matrix `__ to find host hardware for your headstage. +The RHS2116 Headstage is a serialized headstage for small animals with 32 +bi-direcional channels which each can be used to deliver electrical stimuli. +The RHS2116 Headstage can be used with passive probes (e.g. silicon arrays, EEG/ECOG +arrays, etc) using a 36-Channel Omnetics EIB. ******** Features ******** -* Two RHS2116 ICs for a combined 32 reconfigurable i/o ephys channels - -* Max stimulator current: 2.55mA - -* Sample rate: 30193.2367 Hz - -* Stimulus active and stimulus trigger pins - -* On-board Lattice Crosslink™ FPGA for real-time data arbitration +* Two RHS2116 ICs for a combined 32 bi-directional ephys channels +* ~1 millisecond active stimuls artifact recovery +* Max stimulator current: 2.55mA @ +/-7V compliance. +* Sample rate: 30193.2367 Hz +* Stimulus active and stimulus trigger pins +* On-board Lattice Crosslink™ FPGA for real-time data arbitration .. _rhs2116_data_link_serialization: @@ -48,17 +46,18 @@ general terms. The RHS2116 headstage has the following coaxial link properties: +------------------------+--------------------+----------+----------+----------+ | Serializer | TI DS90UB933 | | | Coaxial | +------------------------+--------------------+----------+----------+----------+ - | Supply Voltage | 4.0 | 3.4 | 4.35* | Volts | + | Supply Voltage | 4.0 | 3.4 | 5.0* | Volts | +------------------------+--------------------+----------+----------+----------+ | Hub Clock Frequency | 50 | | | MHz | +------------------------+--------------------+----------+----------+----------+ -.. warning:: \*Do not exceed 4.35 VDC at the coaxial input to the headstage. Make - sure you make this measurement at the headstage (see :ref:`measure_voltage`) to - account for a potential voltage drop in the tether. Exceeding this voltage can - permanently damage the headstage. +.. warning:: \*Do not exceed 5.0 VDC at the coaxial input to the headstage. + Make sure you make this measurement at the headstage (see + :ref:`measure_voltage`) to account for a potential voltage drop in the + tether. -.. note:: Have a look at the :ref:`tethers` page for more details on micro-coax headstage tethers +.. note:: Have a look at the :ref:`tethers` page for more details on micro-coax + headstage tethers ***************** Electrophysiology @@ -66,44 +65,12 @@ Electrophysiology RHS2116 headstage uses two 16-channel `Intan RHS2116 `__ bioamplifier chip. The chip is operated at a fixed -sampling rate of 30 kHz/channel. These 32 ephys channels are exposed via a 36 pin `Omnetics connector `__ at the edge of the headstage and can record from most passive probes (e.g. tetrodes, silicon probe arrays, tungsten microwires, steel EEG wires, etc.) as well as stimulate. - -Getting Started -=============== - -#. `Install Bonsai `__ and :doc:`Install Bonsai.ONIX ` - -#. :doc:`Get Started with Bonsai ` - -#. Establish hardware connections - - #. Gather Materials - - * RHS2116 headstage - - * ONIX acquisition system - - * Coaxial tether - - #. Set the ONIX headstage switch off - - #. Connect RHS2116 headstage using the coaxial tether - - #. Gently thread on the SMA connector into the ONIX headstage port - - #. Gently press the x.fl coax connector onto the RHS2116 headstage - - #. Set the correct voltage according to the table in the :ref:`rhs2116_data_link_serialization` section - - #. Set the ONIX headstage switch on - -#. Either: - - * Configure the RHS2116Device node properties and run the workflow on the :doc:`/Software Guide/Bonsai.ONIX/Nodes/RHS2116Device` page if you want to collect data - - * Configure the RHS2116TriggerDevice node properties and run the workflow on the :doc:`/Software Guide/Bonsai.ONIX/Nodes/RHS2116TriggerDevice` page if you want to trigger stimulus - - * Stimulus trains can be parameterized in a similar way to the master-8 or pulse pal. Refer to the :ref:`stimulator_configurator` section of the documentation for more info. +sampling rate of ~30 kHz/channel. These 32 ephys channels are exposed via a 36 +pin `Omnetics connector +`__ at the +edge of the headstage and can record from most passive probes (e.g. tetrodes, +silicon probe arrays, tungsten microwires, steel EEG wires, etc.) as well as +stimulate. .. RHS2116 Pinout @@ -127,4 +94,4 @@ Bill of Materials - `Interactive BoM <../../_static/boms/headstage-rhs2116_bom.html>`__ (a csv BoM can be downloaded from this page) -.. note:: Have a look at the :ref:`tether_voltage` page for more details on probing and verifying headstage power voltages \ No newline at end of file +.. note:: Have a look at the :ref:`tether_voltage` page for more details on probing and verifying headstage power voltages diff --git a/source/Hardware Guide/Headstages/setup.rst b/source/Hardware Guide/Headstages/setup.rst index 36f9fc39..14989ee2 100644 --- a/source/Hardware Guide/Headstages/setup.rst +++ b/source/Hardware Guide/Headstages/setup.rst @@ -2,9 +2,9 @@ Setup ######################### +- Connect the headstage to one of the Ports on the :ref:`breakout` by screwing + in the SMA connector. Alternatively, the headstage can be pluged directly + into port A or B on the PCIe control board using an SMA to MMCX adapter (see + :ref:`headstage_link`). -- Connect the headstages either directly to host or through the breakout board (see :ref:`headstage_link`). - -- The LED on the breakout board (and the PCIe board itself, if visible) should turn purple when the link is made between the headstage and the PCIe host board. - -- If you are using the deprecated Bonsai.Onix Bonsai package, double-clicking on the OniContext node in Bonsai should now show an additional tab, labelled with the type of headstage. +.. todo: Image of the connection diff --git a/source/Hardware Guide/Headstages/tether-voltage.rst b/source/Hardware Guide/Headstages/tether-voltage.rst index 482b7e4a..eb90e570 100644 --- a/source/Hardware Guide/Headstages/tether-voltage.rst +++ b/source/Hardware Guide/Headstages/tether-voltage.rst @@ -1,51 +1,47 @@ .. _tether_voltage: -Tethered Headstage Voltages +Headstage Voltages ============================== -The voltage on the headstage must be carefully regulated: if its too low the -headstage will not function reliably. If the voltage is too high sensitive -components could be damaged. Many issues with the system can be traced back to -inadequate headstage voltage supply. +Each ONIX headstage has a required operating voltage that is specified on its +documentation page. Because ONIX hardware supports headstages that have +different voltage requirements, it must be changed to to match the requirements +of the headstage that is plugged into a port. If the headstage voltage is too +low, it will not function reliably. If the voltage is too high, it +there will be excess heat dissipation and the headstage may be damaged. -.. attention:: The `OpenEphys.Onix1 Bonsai library `__ automatically sets the headstage port voltage unless specified otherwise. Please use the updated library rather than the deprecated Bonsai.Onix Bonsai library which does not provide that feature. -Setting headstage voltage +Setting Headstage Voltage -------------------------- -Each headstage has a minimum and maximum voltage requirement (e.g. 5.3 to 5.7 -Volts for :ref:`headstage_64`) circuits on the board to function properly. If -the voltage is far too low, the green LED on the headstage will be dim and -Bonsai will not detect the headstage. Even if the LED is bright, a borderline +The headstage voltage is set using :ref:`onidatasheet_fmc_link_control` devices +on the :ref:`pcie_host`. Each headstage has a minimum and maximum voltage +requirement (e.g. 5.3 to 5.7 Volts for :ref:`headstage_64`) in order for +circuits on the board to function properly. If the voltage is far too low, the +host computer will not be able to detect detect the headstage. A borderline voltage can still cause connectivity issues as the headstage occasionally dips -beneath the power it needs to function properly. - -.. raw:: html - -
-

The voltage output at the FMC-host can be set in Bonsai:

-
- -

Default headstage voltage is 4.9 V

-
-
- -

Increasing the voltage to 7V in Bonsai (measured as 5V at the headstage) allows the second headstage to connect.

-
-
- -The voltage set in Bonsai is not identical to the voltage supplied to the -headstage, as some voltage drop will occur over the coaxial cable tether that -connects them. The amount of voltage drop will depend on the cable properties -(e.g. thickness) and even the temperature of the cable. These very thin tethers -can cause large voltage drops, so that even when the voltage setting in Bonsai -seems high, the headstage is only seeing 3 or 4 Volts and becomes unreliable. -Voltage should therefore always be measured on the headstage itself. The -voltage setting is persistent until computer power off. It gets stored in the -hardware, so even after a reboot, it will be set to the latest value. +below the level it needs to function properly. + +.. attention:: The `OpenEphys.Onix1 Bonsai library + `__ + automatically sets the headstage port voltage by default, but allows the + user to override the voltage setting as well. The documentation linked shows + how to use this functionality and what valid voltage ranges are for each + headstage. This functionality has been been tuned for the tethers that are + shipped with each headstage. The override voltage is available when custom + tethers are used (see :ref:`measure_voltage`). + +The voltage set in software is not identical to the voltage supplied to the +headstage, as some voltage drop will occur over the tether connects them. The +amount of voltage drop is proportional to the current draw of the headstage and +inversely proportional to the thickness of the tether. The thin tethers used +with ONIX headstages can result in significant voltage drops that need to be +compensated for. For very long (5 to 10m) and thin (diameter of 0.2mm) coaxial +tethers, the voltage drop can be on the order of 2 volts. For this reason, the +headstage voltage must be measured on the headstage itself. .. _measure_voltage: -Measuring headstage voltage ----------------------------- +Measuring Headstage Voltage +------------------------------- Use a multimeter to probe the headstage at the two points marked below: the ground pin and either terminal of the large inductor on the headstage. @@ -76,9 +72,3 @@ ground pin and either terminal of the large inductor on the headstage. - .. figure :: ../../_static/images/tether-voltage/measure-voltage-np2eBeta.png Neuropixels-2.0eBeta Headstage - -Rebooting --------------------------- -If you have slowly increased the voltage supplied to a headstage, but it does -not appear as a tab in the ONI-Context, try turning the voltage supply to 0 and -back to the higher value before refreshing the ONI-Context. diff --git a/source/Hardware Guide/Miniscopes/index.rst b/source/Hardware Guide/Miniscopes/index.rst index 89b1a30d..92d479ba 100644 --- a/source/Hardware Guide/Miniscopes/index.rst +++ b/source/Hardware Guide/Miniscopes/index.rst @@ -10,7 +10,7 @@ UCLA Miniscope V3 :Design Repository: https://github.com/daharoni/Miniscope_CMOS_Imaging_Sensor_PCB :Documentation: http://miniscope.org/index.php/Guides_and_Tutorials :Compatibility: :ref:`pcie_host`, :ref:`breakout` -:Bonsai.ONIX Node: :ref:`bonsai_miniscopev3dev` +:Software: :ref:`openephys_onix1ref` .. figure:: /_static/images/miniscopes/ucla-miniscope-v3-render.jpg :align: center @@ -21,16 +21,9 @@ UCLA Miniscope V4 :Design Repository: https://github.com/Aharoni-Lab/Miniscope-v4 :Documentation: https://github.com/Aharoni-Lab/Miniscope-v4/wiki :Compatibility: :ref:`pcie_host`, :ref:`breakout` -:Bonsai.ONIX Nodes: :ref:`bonsai_miniscopev4dev`, :ref:`bonsai_miniscopev4bno055dev` +:Software: :ref:`openephys_onix1ref` .. figure:: /_static/images/miniscopes/ucla-miniscope-v4-render.png :align: center :width: 37% -NINScope ------------------------------------------- -.. todo:: Coming soon. - -FeatherScope & Kiloscope ------------------------------------------- -.. todo:: Coming soon. diff --git a/source/Hardware Guide/PCIe Host/overview.rst b/source/Hardware Guide/PCIe Host/overview.rst index a9ee286d..b57af4e7 100644 --- a/source/Hardware Guide/PCIe Host/overview.rst +++ b/source/Hardware Guide/PCIe Host/overview.rst @@ -35,11 +35,6 @@ general purpose analog and digital IO. It is a VITA-57.1 compliant mezzanine board that uses high pin-count FMC connector. In combination with a base FPGA board , it provides host PC communication. -.. figure:: /_static/images/todo.jpg - :align: center - - The ONIX FMC Host module. - - Two deserializers for any multifunction headstage conforming to the ONIX serialization protocol - 12x ±10V analog outputs or inputs. Direction selected via analog switch @@ -68,11 +63,10 @@ when its not needed for maximum close-loop performance. PCIe Stack ------------------------- -We are using a slightly modified `version -`__ of the excellent, open-source `RIFFA -`__ project to orchestrate data -transmission over the PCIe bus. The PCIe protocol implementation and physical -interface is provided by a `hard block +We are using a modified `version `__ of the +excellent, open-source `RIFFA `__ project +to orchestrate data transmission over the PCIe bus. The PCIe protocol +implementation and physical interface is provided by a `hard block `_ in the Kintex-7 FPGA. @@ -111,4 +105,4 @@ in the Kintex-7 FPGA. ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH - DAMAGE. \ No newline at end of file + DAMAGE. diff --git a/source/Hardware Guide/PCIe Host/setup-windows.rst b/source/Hardware Guide/PCIe Host/setup-windows.rst index 61986525..22e8b34c 100644 --- a/source/Hardware Guide/PCIe Host/setup-windows.rst +++ b/source/Hardware Guide/PCIe Host/setup-windows.rst @@ -115,28 +115,9 @@ Install Device Driver .. figure:: /_static/images/pcie-host-windows/package-manager-riffa.png :align: center -Install ONIX Bonsai Library +Install Software --------------------------------------- +Have a look at the :ref:`software_guide` page for open-source software options. We +recommend using :ref:`openephys_onix1ref` because it provides first class +support for all ONIX hardware features. -.. include:: ../../Software Guide/Bonsai.ONIX/deprecation-notice.rst - -#. If you don't have Bonsai on your computer, visit https://bonsai-rx.org/ and - install the latest release. -#. Open Bonsai. At the start menu, select **Manage Packages**. - - .. figure:: /_static/images/pcie-host-windows/bonsai-start-menu.png - :align: center - -#. Select **Community Packages** as the package source. -#. Search for **Bonsai.ONIX**. -#. Install **Bonsai.ONIX.Design**. This packages will install both the core - library and visualization tools. - -Using Bonsai ----------------------------------------- - -#. New to Bonsai? The :ref:`bonsai_gettingstarted` page lists resources for learning Bonsai. - -#. Navigate to :ref:`bonsai_onixref` for a high-level overview and list of compatible devices. Click on any listed device in the left-hand navigation menu to view an example workflow using that device. - -#. :ref:`bonsai_onixexamples` demonstrate specific ONIX use cases, such as tuning closed-loop latency or acquiring from headstages. From 98c22cfe3cf8f8f5fc631ab6983da8a44ba30f95 Mon Sep 17 00:00:00 2001 From: jonnw Date: Fri, 9 Aug 2024 10:13:33 -0400 Subject: [PATCH 6/7] Fix broken links - Some small text edits too --- .../{rhs2116.rst => headstage-rhs2116.rst} | 0 source/Hardware Guide/Headstages/index.rst | 4 ++-- .../Headstages/tether-voltage.rst | 15 +++++++-------- source/Resources/faq.rst | 2 +- source/Software Guide/OpenEphys.Onix1/index.rst | 17 ++++++++++++++--- 5 files changed, 24 insertions(+), 14 deletions(-) rename source/Hardware Guide/Headstages/{rhs2116.rst => headstage-rhs2116.rst} (100%) diff --git a/source/Hardware Guide/Headstages/rhs2116.rst b/source/Hardware Guide/Headstages/headstage-rhs2116.rst similarity index 100% rename from source/Hardware Guide/Headstages/rhs2116.rst rename to source/Hardware Guide/Headstages/headstage-rhs2116.rst diff --git a/source/Hardware Guide/Headstages/index.rst b/source/Hardware Guide/Headstages/index.rst index 70981964..039a370d 100644 --- a/source/Hardware Guide/Headstages/index.rst +++ b/source/Hardware Guide/Headstages/index.rst @@ -10,13 +10,13 @@ Here you will find information on **ONIX headstages**. setup serialization tethers + tether-voltage headstage-64/index headstage-neuropix-1 headstage-neuropix-1e headstage-neuropix-2e-beta headstage-neuropix-2e - rhs2116.rst - tether-voltage + headstage-rhs2116.rst .. important:: ONIX expands the concept of a headstage compared to what you might be used to. ONIX headstages are head-borne systems of sensors and diff --git a/source/Hardware Guide/Headstages/tether-voltage.rst b/source/Hardware Guide/Headstages/tether-voltage.rst index eb90e570..49f93f06 100644 --- a/source/Hardware Guide/Headstages/tether-voltage.rst +++ b/source/Hardware Guide/Headstages/tether-voltage.rst @@ -20,14 +20,13 @@ host computer will not be able to detect detect the headstage. A borderline voltage can still cause connectivity issues as the headstage occasionally dips below the level it needs to function properly. -.. attention:: The `OpenEphys.Onix1 Bonsai library - `__ - automatically sets the headstage port voltage by default, but allows the - user to override the voltage setting as well. The documentation linked shows - how to use this functionality and what valid voltage ranges are for each - headstage. This functionality has been been tuned for the tethers that are - shipped with each headstage. The override voltage is available when custom - tethers are used (see :ref:`measure_voltage`). +.. attention:: The :ref:`openephys_onix1ref` library automatically sets the + headstage port voltage by default, but allows the user to override the + voltage setting as well. The documentation linked shows how to use this + functionality and what valid voltage ranges are for each headstage. This + functionality has been been tuned for the tethers that are shipped with each + headstage. The override voltage is available when custom tethers are used + (see :ref:`measure_voltage`). The voltage set in software is not identical to the voltage supplied to the headstage, as some voltage drop will occur over the tether connects them. The diff --git a/source/Resources/faq.rst b/source/Resources/faq.rst index ed921404..1aa1e6b6 100644 --- a/source/Resources/faq.rst +++ b/source/Resources/faq.rst @@ -26,7 +26,7 @@ FAQ comprehensive overview of our mission and projects. Is ONIX hardware available for purchase? - Yes, its available on the `Open Ephys Store `_. + Yes, its available on the `Open Ephys Store `_. Where do I get help when using the system? Have a look at the :ref:`support` page. diff --git a/source/Software Guide/OpenEphys.Onix1/index.rst b/source/Software Guide/OpenEphys.Onix1/index.rst index aeae155a..c8808647 100644 --- a/source/Software Guide/OpenEphys.Onix1/index.rst +++ b/source/Software Guide/OpenEphys.Onix1/index.rst @@ -4,9 +4,20 @@ Bonsai ======================== `Bonsai `__ is a visual programming language (think -LabView) for reactive programming. It is lightweight and easy to use with a -variety of packages and modules for interfacing with hardware and for real-time -processing and manipulation of data streams. `OpenEphys.Onix1 +LabView) for `reactive programming +`__. Its simple looks are +deceiving. Bonsai is a very advanced piece of software with features such as + +- Real-time compilation of workflows to machine code as they are edited + (zero-overhead). +- A large array of operators for combining and sychronizing asynchronous data + streams, which is a major issue in other software. +- Lots of support for all sorts of hardware outside of ONIX. + +Bonsai is ideal for accessing the full power of ONIX hardware and combining it +with third-party data sources (e.g. machine visiion cameras, +behavioral hardware, etc.), and for real-time processing and manipulation of +data streams. `OpenEphys.Onix1 `__ is a Bonsai library for ONIX hardware. This library contains `Bonsai Operators `__ for acquiring and From 308cbf61fc7eede0b6f2d8e8b6f7c052126562d9 Mon Sep 17 00:00:00 2001 From: cjsha Date: Fri, 9 Aug 2024 14:05:10 -0400 Subject: [PATCH 7/7] Fix typos and syntax - Also: "library" -> "package" - Restructure the Bonsai page to create references to a OpenEphys.Onix1 section of the Bonsai page to address concerns about OpenEphys.Onix1 not being enough of a first-class citizen like Bonsai.Onix was --- source/Getting Started/warnings.rst | 4 +-- source/Hardware Guide/Commutators/index.rst | 2 +- .../Headstages/tether-voltage.rst | 14 +++++----- source/Hardware Guide/Miniscopes/index.rst | 4 +-- source/Hardware Guide/PCIe Host/overview.rst | 2 +- .../PCIe Host/setup-windows.rst | 2 +- .../Bonsai.ONIX/GettingStarted.rst | 2 +- .../Bonsai.ONIX/Installation.rst | 4 +-- .../Bonsai.ONIX/Nodes/NeuropixelsV1Device.rst | 2 +- .../Nodes/NeuropixelsV1eDevice.rst | 2 +- .../Bonsai.ONIX/Nodes/ONIContext.rst | 4 +-- .../Bonsai.ONIX/Nodes/RHS2116Device.rst | 2 +- source/Software Guide/Bonsai.ONIX/index.rst | 10 ++++---- .../Software Guide/Open Ephys GUI/index.rst | 4 +-- .../Software Guide/OpenEphys.Onix1/index.rst | 24 +++++++++++------- source/Software Guide/index.rst | 6 ++--- ...re.jpg => bonsai-package-architecture.jpg} | Bin ...re.pdf => bonsai-package-architecture.pdf} | Bin 18 files changed, 47 insertions(+), 41 deletions(-) rename source/_static/bonsai/{bonsai-library-architecture.jpg => bonsai-package-architecture.jpg} (100%) rename source/_static/bonsai/{bonsai-library-architecture.pdf => bonsai-package-architecture.pdf} (100%) diff --git a/source/Getting Started/warnings.rst b/source/Getting Started/warnings.rst index 0dcf1d93..61a34154 100644 --- a/source/Getting Started/warnings.rst +++ b/source/Getting Started/warnings.rst @@ -28,8 +28,8 @@ Headstage Voltages .. warning:: **Ensure each headstage is configured with the correct voltage.** Although headstages are quite tolerate of over-voltage and under-voltage conditions, - they are only gaurenteed to function wihtin a specified range. When using + they are only guaranteed to function within a specified range. When using long and/or thin tethers, the voltage drop across the cable can become - signficant. For more details, see :ref:`tether_voltage`. + significant. For more details, see :ref:`tether_voltage`. diff --git a/source/Hardware Guide/Commutators/index.rst b/source/Hardware Guide/Commutators/index.rst index c83532ac..f3006916 100644 --- a/source/Hardware Guide/Commutators/index.rst +++ b/source/Hardware Guide/Commutators/index.rst @@ -2,7 +2,7 @@ Coaxial Commutators =================================== -Active, near-zero torque commutators to prevent tether twisting during freely +Active, near-zero torque commutators prevent tether twisting during freely moving recordings with headstages and/or miniscopes. This page provides a very brief overview of the commutators; for a more extensive walkthrough, please follow the documentation link for `Commutators diff --git a/source/Hardware Guide/Headstages/tether-voltage.rst b/source/Hardware Guide/Headstages/tether-voltage.rst index 49f93f06..bd34293f 100644 --- a/source/Hardware Guide/Headstages/tether-voltage.rst +++ b/source/Hardware Guide/Headstages/tether-voltage.rst @@ -4,10 +4,10 @@ Headstage Voltages ============================== Each ONIX headstage has a required operating voltage that is specified on its documentation page. Because ONIX hardware supports headstages that have -different voltage requirements, it must be changed to to match the requirements +different voltage requirements, it must be changed to match the requirements of the headstage that is plugged into a port. If the headstage voltage is too -low, it will not function reliably. If the voltage is too high, it -there will be excess heat dissipation and the headstage may be damaged. +low, it will not function reliably. If the voltage is too high, the headstage +will dissipate excess heat and it may be damaged. Setting Headstage Voltage @@ -16,20 +16,20 @@ The headstage voltage is set using :ref:`onidatasheet_fmc_link_control` devices on the :ref:`pcie_host`. Each headstage has a minimum and maximum voltage requirement (e.g. 5.3 to 5.7 Volts for :ref:`headstage_64`) in order for circuits on the board to function properly. If the voltage is far too low, the -host computer will not be able to detect detect the headstage. A borderline +host computer will not be able to detect the headstage. A borderline voltage can still cause connectivity issues as the headstage occasionally dips below the level it needs to function properly. -.. attention:: The :ref:`openephys_onix1ref` library automatically sets the +.. attention:: The :ref:`openephys_onix1ref` Bonsai package automatically sets the headstage port voltage by default, but allows the user to override the voltage setting as well. The documentation linked shows how to use this functionality and what valid voltage ranges are for each headstage. This functionality has been been tuned for the tethers that are shipped with each - headstage. The override voltage is available when custom tethers are used + headstage. The voltage override is available when custom tethers are used (see :ref:`measure_voltage`). The voltage set in software is not identical to the voltage supplied to the -headstage, as some voltage drop will occur over the tether connects them. The +headstage, as some voltage drop will occur over the tether that connects them. The amount of voltage drop is proportional to the current draw of the headstage and inversely proportional to the thickness of the tether. The thin tethers used with ONIX headstages can result in significant voltage drops that need to be diff --git a/source/Hardware Guide/Miniscopes/index.rst b/source/Hardware Guide/Miniscopes/index.rst index 92d479ba..a17a374c 100644 --- a/source/Hardware Guide/Miniscopes/index.rst +++ b/source/Hardware Guide/Miniscopes/index.rst @@ -10,7 +10,7 @@ UCLA Miniscope V3 :Design Repository: https://github.com/daharoni/Miniscope_CMOS_Imaging_Sensor_PCB :Documentation: http://miniscope.org/index.php/Guides_and_Tutorials :Compatibility: :ref:`pcie_host`, :ref:`breakout` -:Software: :ref:`openephys_onix1ref` +:Software: :ref:`openephys_onix1ref` Bonsai package .. figure:: /_static/images/miniscopes/ucla-miniscope-v3-render.jpg :align: center @@ -21,7 +21,7 @@ UCLA Miniscope V4 :Design Repository: https://github.com/Aharoni-Lab/Miniscope-v4 :Documentation: https://github.com/Aharoni-Lab/Miniscope-v4/wiki :Compatibility: :ref:`pcie_host`, :ref:`breakout` -:Software: :ref:`openephys_onix1ref` +:Software: :ref:`openephys_onix1ref` Bonsai package .. figure:: /_static/images/miniscopes/ucla-miniscope-v4-render.png :align: center diff --git a/source/Hardware Guide/PCIe Host/overview.rst b/source/Hardware Guide/PCIe Host/overview.rst index b57af4e7..6fda6f17 100644 --- a/source/Hardware Guide/PCIe Host/overview.rst +++ b/source/Hardware Guide/PCIe Host/overview.rst @@ -33,7 +33,7 @@ The `ONIX FMC Host `__ module provides a host interface for serialized headstages and miniscopes, as well as general purpose analog and digital IO. It is a VITA-57.1 compliant mezzanine board that uses high pin-count FMC connector. In combination with a base FPGA -board , it provides host PC communication. +board, it provides host PC communication. - Two deserializers for any multifunction headstage conforming to the ONIX serialization protocol diff --git a/source/Hardware Guide/PCIe Host/setup-windows.rst b/source/Hardware Guide/PCIe Host/setup-windows.rst index 22e8b34c..3f2ebbce 100644 --- a/source/Hardware Guide/PCIe Host/setup-windows.rst +++ b/source/Hardware Guide/PCIe Host/setup-windows.rst @@ -118,6 +118,6 @@ Install Device Driver Install Software --------------------------------------- Have a look at the :ref:`software_guide` page for open-source software options. We -recommend using :ref:`openephys_onix1ref` because it provides first class +recommend using :ref:`bonsairef` and the :ref:`openephys_onix1ref` Bonsai package because it provides first class support for all ONIX hardware features. diff --git a/source/Software Guide/Bonsai.ONIX/GettingStarted.rst b/source/Software Guide/Bonsai.ONIX/GettingStarted.rst index a958dd26..a4210ef4 100644 --- a/source/Software Guide/Bonsai.ONIX/GettingStarted.rst +++ b/source/Software Guide/Bonsai.ONIX/GettingStarted.rst @@ -34,7 +34,7 @@ Bonsai Learning Resources * - `ReactiveX operator definitions `__ - Detailed information on many of the reactive operators you will find in - Bonsai's Reactive library, especially in the "Combinators" grouping + Bonsai's Reactive package, especially in the "Combinators" grouping Accessing Bonsai.ONIX Documentation ---------------------------------------- diff --git a/source/Software Guide/Bonsai.ONIX/Installation.rst b/source/Software Guide/Bonsai.ONIX/Installation.rst index 1645dcbf..f7ac5d6d 100644 --- a/source/Software Guide/Bonsai.ONIX/Installation.rst +++ b/source/Software Guide/Bonsai.ONIX/Installation.rst @@ -4,7 +4,7 @@ Installation =============================== -**Bonsai.ONIX** is a `Bonsai `__ library for ONIX +**Bonsai.ONIX** is a `Bonsai `__ package for ONIX hardware and can be installed using its package manager. #. First you will need to `install Bonsai `__ @@ -24,7 +24,7 @@ hardware and can be installed using its package manager. :align: center #. Search for "ONIX" and install. Installing **Bonsai.ONIX.Design** will - install both the base **Bonsai.ONIX** library and its visualization tools. + install both the base **Bonsai.ONIX** package and its visualization tools. .. tip:: It is recommended to also install **Bonsai.ONIX.Design** because it provides a substantial set of data visualization and graphical hardware diff --git a/source/Software Guide/Bonsai.ONIX/Nodes/NeuropixelsV1Device.rst b/source/Software Guide/Bonsai.ONIX/Nodes/NeuropixelsV1Device.rst index 5a298233..db0c1168 100644 --- a/source/Software Guide/Bonsai.ONIX/Nodes/NeuropixelsV1Device.rst +++ b/source/Software Guide/Bonsai.ONIX/Nodes/NeuropixelsV1Device.rst @@ -71,7 +71,7 @@ Parameters available through the property pane are as follows: Configuration GUI _________________________ The **Neuropixels 1.0 Configuration GUI**, which is a part of the -``Bonsai.ONIX.Design`` library, is opened by double clicking on the +``Bonsai.ONIX.Design`` package, is opened by double clicking on the NeuropixelsV1Device node when editing the workflow or clicking the ellipsis next to the ``NeuropixelsV1Configuration`` parameter option in the property pane. diff --git a/source/Software Guide/Bonsai.ONIX/Nodes/NeuropixelsV1eDevice.rst b/source/Software Guide/Bonsai.ONIX/Nodes/NeuropixelsV1eDevice.rst index 42ffa9a6..e1b12dae 100644 --- a/source/Software Guide/Bonsai.ONIX/Nodes/NeuropixelsV1eDevice.rst +++ b/source/Software Guide/Bonsai.ONIX/Nodes/NeuropixelsV1eDevice.rst @@ -77,7 +77,7 @@ Parameters available through the property pane are as follows: Configuration GUI _________________________ The **Neuropixels 1.0e Configuration GUI**, which is a part of the -``Bonsai.ONIX.Design`` library, is opened by double clicking on the +``Bonsai.ONIX.Design`` package, is opened by double clicking on the NeuropixelsV1eDevice node when editing the workflow or clicking the ellipsis next to the ``NeuropixelsV1Configuration`` parameter option in the property pane. diff --git a/source/Software Guide/Bonsai.ONIX/Nodes/ONIContext.rst b/source/Software Guide/Bonsai.ONIX/Nodes/ONIContext.rst index ef01db15..9cb9d0ed 100644 --- a/source/Software Guide/Bonsai.ONIX/Nodes/ONIContext.rst +++ b/source/Software Guide/Bonsai.ONIX/Nodes/ONIContext.rst @@ -34,7 +34,7 @@ it manages (e.g. :ref:`bonsai_heartbeatdev`, :ref:`bonsai_analogiodev`, etc.). S facts about the :ref:`bonsai_onicontext` node are useful for understanding how to use it. -.. figure:: /_static/bonsai/bonsai-library-architecture.jpg +.. figure:: /_static/bonsai/bonsai-package-architecture.jpg :align: center :width: 500px @@ -71,7 +71,7 @@ to use it. Configuration GUI -------------------------- :ref:`bonsai_onicontext` configuration is performed using a GUI provided in the -Bonsai.ONIX.Design library. It can be opened by double clicking on the +Bonsai.ONIX.Design package. It can be opened by double clicking on the :ref:`bonsai_onicontext` node if Bonsai.ONIX.Design has been installed. .. image:: /_static/bonsai/onicontext/ONIContext_configuration.png diff --git a/source/Software Guide/Bonsai.ONIX/Nodes/RHS2116Device.rst b/source/Software Guide/Bonsai.ONIX/Nodes/RHS2116Device.rst index 7edd3126..a7035c99 100644 --- a/source/Software Guide/Bonsai.ONIX/Nodes/RHS2116Device.rst +++ b/source/Software Guide/Bonsai.ONIX/Nodes/RHS2116Device.rst @@ -102,7 +102,7 @@ Parameters available through the property pane are as follows: Configuration GUI _________________________ The **RHS2116 Configuration GUI**, which is a part of the -``Bonsai.ONIX.Design`` library, is opened by double clicking on the +``Bonsai.ONIX.Design`` package, is opened by double clicking on the RHS2116Device node when editing the workflow or clicking the ellipsis next to the ``StimulusSequence`` parameter option in the property pane. It is used to define multichannel stimulus sequences. diff --git a/source/Software Guide/Bonsai.ONIX/index.rst b/source/Software Guide/Bonsai.ONIX/index.rst index 55867cbf..5f6ed69e 100644 --- a/source/Software Guide/Bonsai.ONIX/index.rst +++ b/source/Software Guide/Bonsai.ONIX/index.rst @@ -23,12 +23,12 @@ Bonsai.ONIX Bonsai Examples/index `Bonsai.ONIX `__ is a `Bonsai -`__ library for ONIX hardware. This library contains +`__ package for ONIX hardware. This package contains `Bonsai Operators `__ for -acquiring and sending data to ONIX hardware. An additional library, -``Bonsai.ONIX.Design``, contains GUI elements for the core library. Although it -is possible to use ``Bonsai.ONIX`` without the GUI library, it is not -recommended. There are three major classes of operators in the library: +acquiring and sending data to ONIX hardware. An additional package, +``Bonsai.ONIX.Design``, contains GUI elements for the core package. Although it +is possible to use ``Bonsai.ONIX`` without the GUI package, it is not +recommended. There are three major classes of operators in the package: #. :ref:`bonsai_onicontext` - This operator wraps the underlying **Acquisition Context** and provides access to the device table for a hardware slot. At least one of these diff --git a/source/Software Guide/Open Ephys GUI/index.rst b/source/Software Guide/Open Ephys GUI/index.rst index a1738eba..e2931055 100644 --- a/source/Software Guide/Open Ephys GUI/index.rst +++ b/source/Software Guide/Open Ephys GUI/index.rst @@ -10,8 +10,8 @@ experiments more flexible and enjoyable. It works equally well on macOS, Linux, and Windows. .. note:: An ONIX plugin for the Open Ephys is in development. To access all of - ONIX's capabilities right now, have a look at the :ref:`Bonsai library - `. **You can still take advantage of the GUI's excellent + ONIX's capabilities right now, have a look at the :ref:`openephys_onix1ref` Bonsai package. + **You can still take advantage of the GUI's excellent ephys visualizaiton tools by streaming data from Bonsai to the GUI using the** `Ephys Socket Plugin `__. diff --git a/source/Software Guide/OpenEphys.Onix1/index.rst b/source/Software Guide/OpenEphys.Onix1/index.rst index c8808647..36b16162 100644 --- a/source/Software Guide/OpenEphys.Onix1/index.rst +++ b/source/Software Guide/OpenEphys.Onix1/index.rst @@ -1,12 +1,11 @@ -.. _openephys_onix1ref: +.. _bonsairef: Bonsai ======================== `Bonsai `__ is a visual programming language (think LabView) for `reactive programming -`__. Its simple looks are -deceiving. Bonsai is a very advanced piece of software with features such as +`__ with features such as: - Real-time compilation of workflows to machine code as they are edited (zero-overhead). @@ -15,11 +14,18 @@ deceiving. Bonsai is a very advanced piece of software with features such as - Lots of support for all sorts of hardware outside of ONIX. Bonsai is ideal for accessing the full power of ONIX hardware and combining it -with third-party data sources (e.g. machine visiion cameras, +with third-party data sources (e.g. machine vision cameras, behavioral hardware, etc.), and for real-time processing and manipulation of -data streams. `OpenEphys.Onix1 -`__ is a Bonsai -library for ONIX hardware. This library contains `Bonsai Operators +data streams. + +.. _openephys_onix1ref: + +OpenEphys.Onix1 +---------------- + +`OpenEphys.Onix1 +`__ is the Bonsai +package for ONIX hardware. This package contains `Bonsai Operators `__ for acquiring and sending data to ONIX hardware. @@ -33,10 +39,10 @@ sending data to ONIX hardware.
-

Go to the ONIX library Docs

+

Go to the OpenEphys.Onix1 Docs

OpenEphys.Onix1 bonsai
-            library documentation + package documentation">
diff --git a/source/Software Guide/index.rst b/source/Software Guide/index.rst index 9219b9ca..e72ac82e 100644 --- a/source/Software Guide/index.rst +++ b/source/Software Guide/index.rst @@ -14,8 +14,8 @@ oni-repl/index Bonsai.ONIX (DEPRECATED) -:ref:`Bonsai ` - A `Bonsai `__ library for acquiring data from ONIX +:ref:`Bonsai ` + :ref:`openephys_onix1ref` is a :ref:`bonsairef` package for acquiring data from ONIX hardware for real-time experiments. Bonsai is very good at processing the heterogeneous data streams produced by ONIX hardware. @@ -35,5 +35,5 @@ Deprecated Software ___________________________________ - The :ref:`bonsai_onixref` pages provide information about the original Bonsai - library, which has been superseded by :ref:`openephys_onix1ref` + package, which has been superseded by :ref:`openephys_onix1ref` diff --git a/source/_static/bonsai/bonsai-library-architecture.jpg b/source/_static/bonsai/bonsai-package-architecture.jpg similarity index 100% rename from source/_static/bonsai/bonsai-library-architecture.jpg rename to source/_static/bonsai/bonsai-package-architecture.jpg diff --git a/source/_static/bonsai/bonsai-library-architecture.pdf b/source/_static/bonsai/bonsai-package-architecture.pdf similarity index 100% rename from source/_static/bonsai/bonsai-library-architecture.pdf rename to source/_static/bonsai/bonsai-package-architecture.pdf