Skip to content

Commit

Permalink
Merge pull request #43 from open-ephys/issue-41
Browse files Browse the repository at this point in the history
 Rewrite channel access concurrency description
  • Loading branch information
aacuevas authored Nov 19, 2024
2 parents b513c8f + 4a5951f commit 7649f1d
Showing 1 changed file with 10 additions and 11 deletions.
21 changes: 10 additions & 11 deletions source/hw-spec/controller/channels/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -14,17 +14,16 @@ four abstract communication channels:
events from controller to host.
#. :ref:`conf-chan`: Bidirectional, addressed access to device registers.

API access to all these channels is blocking, i.e.: an API call that accesses
any channel will not return until the requested transaction on that channel is
complete. Concurrent access to a single channel by different threads is NOT
permitted. However, channels are independent and concurrent access to
*different* channels MUST be permitted. A stream transaction is defined as a
blocking read or write of a set number of bytes, while a register transaction
is defined as a single register read or write cycle to an individual address.

The required characteristics of these channels are described in the following
sections. A complete understanding of their use during software development
requires an understanding of the :ref:`oni-api`.
These channels are implemented by the combination of the controller hardware and the :term:`Driver Translator`.

Concurrent access to a single channel by the host (e.g. by multiple threads of execution or applications) is
NOT permitted. However, individual channels MUST be able to be accessed independently.

.. note:: Concurrent access requirements relate only to the hardware implementation. Functions in
a high-level :term:`API` MAY introduce their own access dependencies and concurrency limitations.

The required characteristics of the controller channels are described in the following
sections.

.. toctree::
:hidden:
Expand Down

0 comments on commit 7649f1d

Please sign in to comment.