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..61a34154 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 guaranteed to function within a specified range. When using + long and/or thin tethers, the voltage drop across the cable can become + significant. 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/Hardware Guide/Commutators/index.rst b/source/Hardware Guide/Commutators/index.rst index 2a455de4..f3006916 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 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/headstage-rhs2116.rst b/source/Hardware Guide/Headstages/headstage-rhs2116.rst new file mode 100644 index 00000000..12a89677 --- /dev/null +++ b/source/Hardware Guide/Headstages/headstage-rhs2116.rst @@ -0,0 +1,97 @@ +################# +RHS2116 Headstage +################# + +.. image:: /_static/images/rhs2116/rhs2116.webp + :align: center + :height: 300px + :alt: ONIX rhs2116 + +| + +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 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: + +*********************** +Data Link Serialization +*********************** + +For details on data serialization and headstage gateware, have a look at the +:ref:`serialization` page, which describes how coax headstages operate in +general terms. The RHS2116 headstage has the following coaxial link properties: + +.. table:: + :widths: 50 80 50 50 50 + + +------------------------+--------------------+----------+----------+----------+ + | Parameter | Value | Min | Max | Unit/ | + | | | | | Type | + +========================+====================+==========+==========+==========+ + | FPGA | LIF-MD6000-6UMG64I | | | | + +------------------------+--------------------+----------+----------+----------+ + | Serializer | TI DS90UB933 | | | Coaxial | + +------------------------+--------------------+----------+----------+----------+ + | Supply Voltage | 4.0 | 3.4 | 5.0* | Volts | + +------------------------+--------------------+----------+----------+----------+ + | Hub Clock Frequency | 50 | | | MHz | + +------------------------+--------------------+----------+----------+----------+ + +.. 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 + +***************** +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. + +.. + RHS2116 Pinout + ============== + + .. image:: /_static/images/rhs2116/rhs2116-omnetics-pinout.webp + :align: center + :height: 300px + :alt: ONIX rhs2116 omnetics + + | + + .. image:: /_static/images/rhs2116/rhs2116-bottom-pinout.webp + :align: center + :height: 300px + :alt: ONIX rhs2116 bottom pinout + +***************** +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 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/rhs2116.rst b/source/Hardware Guide/Headstages/rhs2116.rst deleted file mode 100644 index 9762b62b..00000000 --- a/source/Hardware Guide/Headstages/rhs2116.rst +++ /dev/null @@ -1,130 +0,0 @@ -################# -RHS2116 Headstage -################# - -.. image:: /_static/images/rhs2116/rhs2116.webp - :align: center - :height: 300px - :alt: ONIX rhs2116 - -| - -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. - -******** -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 - -.. _rhs2116_data_link_serialization: - -*********************** -Data Link Serialization -*********************** - -For details on data serialization and headstage gateware, have a look at the -:ref:`serialization` page, which describes how coax headstages operate in -general terms. The RHS2116 headstage has the following coaxial link properties: - -.. table:: - :widths: 50 80 50 50 50 - - +------------------------+--------------------+----------+----------+----------+ - | Parameter | Value | Min | Max | Unit/ | - | | | | | Type | - +========================+====================+==========+==========+==========+ - | FPGA | LIF-MD6000-6UMG64I | | | | - +------------------------+--------------------+----------+----------+----------+ - | Serializer | TI DS90UB933 | | | Coaxial | - +------------------------+--------------------+----------+----------+----------+ - | Supply Voltage | 4.0 | 3.4 | 4.35* | 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. - -.. note:: Have a look at the :ref:`tethers` page for more details on micro-coax headstage tethers - -***************** -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. - -.. - RHS2116 Pinout - ============== - - .. image:: /_static/images/rhs2116/rhs2116-omnetics-pinout.webp - :align: center - :height: 300px - :alt: ONIX rhs2116 omnetics - - | - - .. image:: /_static/images/rhs2116/rhs2116-bottom-pinout.webp - :align: center - :height: 300px - :alt: ONIX rhs2116 bottom pinout - -***************** -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 diff --git a/source/Hardware Guide/Headstages/setup.rst b/source/Hardware Guide/Headstages/setup.rst index f6f212c9..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. - -- 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 362b692c..bd34293f 100644 --- a/source/Hardware Guide/Headstages/tether-voltage.rst +++ b/source/Hardware Guide/Headstages/tether-voltage.rst @@ -1,50 +1,46 @@ .. _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 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, the headstage +will dissipate excess heat and it may be damaged. -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 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 :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 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 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 +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. @@ -75,9 +71,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..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` -:Bonsai.ONIX Node: :ref:`bonsai_miniscopev3dev` +:Software: :ref:`openephys_onix1ref` Bonsai package .. 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` Bonsai package .. 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..6fda6f17 100644 --- a/source/Hardware Guide/PCIe Host/overview.rst +++ b/source/Hardware Guide/PCIe Host/overview.rst @@ -33,12 +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. - -.. figure:: /_static/images/todo.jpg - :align: center - - The ONIX FMC Host module. +board, it provides host PC communication. - Two deserializers for any multifunction headstage conforming to the ONIX serialization protocol @@ -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 e4c6c39b..3f2ebbce 100644 --- a/source/Hardware Guide/PCIe Host/setup-windows.rst +++ b/source/Hardware Guide/PCIe Host/setup-windows.rst @@ -115,25 +115,9 @@ Install Device Driver .. figure:: /_static/images/pcie-host-windows/package-manager-riffa.png :align: center -Install ONIX Bonsai Library +Install Software --------------------------------------- -#. 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**. +Have a look at the :ref:`software_guide` page for open-source software options. We +recommend using :ref:`bonsairef` and the :ref:`openephys_onix1ref` Bonsai package because it provides first class +support for all ONIX hardware features. - .. 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. diff --git a/source/Resources/faq.rst b/source/Resources/faq.rst index b10a199f..1aa1e6b6 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/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..a4210ef4 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 @@ -32,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 da85f60f..f7ac5d6d 100644 --- a/source/Software Guide/Bonsai.ONIX/Installation.rst +++ b/source/Software Guide/Bonsai.ONIX/Installation.rst @@ -1,8 +1,10 @@ +.. include:: deprecation-notice.rst + .. _bonsai_installation: 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 `__ @@ -22,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/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..db0c1168 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 @@ -69,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 8ccd78d9..e1b12dae 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 @@ -75,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 17c09457..9cb9d0ed 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 @@ -32,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 @@ -69,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/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..a7035c99 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 @@ -100,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/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..5f6ed69e 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 @@ -21,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 18776e2c..e2931055 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:`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 `__. -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..36b16162 --- /dev/null +++ b/source/Software Guide/OpenEphys.Onix1/index.rst @@ -0,0 +1,48 @@ +.. _bonsairef: + +Bonsai +======================== + +`Bonsai `__ is a visual programming language (think +LabView) for `reactive programming +`__ 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 vision cameras, +behavioral hardware, etc.), and for real-time processing and manipulation of +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. + +: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 OpenEphys.Onix1 Docs

+
+ OpenEphys.Onix1 bonsai
+            package documentation + +
diff --git a/source/Software Guide/index.rst b/source/Software Guide/index.rst index b17584be..e72ac82e 100644 --- a/source/Software Guide/index.rst +++ b/source/Software Guide/index.rst @@ -1,30 +1,39 @@ .. |software_logo| image:: /_static/noun_macbook.svg :height: 60 -.. _software: +.. _software_guide: + +|software_logo| Software Guide +=================================== .. toctree:: :hidden: - oni-repl/index - Bonsai.ONIX/index + OpenEphys.Onix1/index Open Ephys GUI/index + oni-repl/index + Bonsai.ONIX (DEPRECATED) -|software_logo| Software Guide -=================================== +: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. + +:ref:`Open Ephys GUI ` + The Open Ephys GUI can be used for ONIX data visualization. + +: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. If you want to use ONIX hardware with your acquisition software, + please :ref:`get in touch `. + +Deprecated Software +___________________________________ + +- The :ref:`bonsai_onixref` pages provide information about the original Bonsai + package, which has been superseded by :ref:`openephys_onix1ref` -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. - -- 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 :ref:`open_ephys_gui` page shows how ephys data can be streamed the Open - Ephys GUI to take advantage of its excellent visualization capabilities. - -.. 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/_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 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/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 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 +}