Skip to main content
. 2013 Jan 18;6:98. doi: 10.3389/fncir.2012.00098

Figure 3.

Figure 3

Conceptual schematic of NeuroRighter’s hardware and software elements. NeuroRighter serves as a high-level interface between hardware and custom user-written protocols (pink box). NeuroRighter simplifies hardware level programming by using datatypes and methods that are specialized for multichannel neural recording and stimulation. This facilitates the creation of low-latency, closed-loop protocols. Neural signals and secondary data streams are fed into the NI cards’ analog and digital inputs where they are digitalized and stored temporarily in on-board memory. NeuroRighter periodically transfers data from the acquisition cards’ FIFO memory to RAM using direct memory access. Data is then pushed to NeuroRighter’s DataSrv server object. DataSrv serves data to NeuroRighter’s visualization tools, filtering algorithms, and externally compiled plugins. The plugin API provides functions for safe interaction with DataSrv so that custom operations can be performed on incoming data streams. User-written plugins can interact with any of the computer’s native communication ports, or write data back to StimSrv in order to control external hardware as a function of recorded neural signals.