New paradigm for Mantis operation, to allow for multiple devices and unsynchronized data streams:
Each digitizer, or any other data-taking hardware, is implemented as a "device."
Each device can have one (or more?) data streams, and is handled by its own thread.
The file writer (multiple writers?) must be capable of switching between data streams. My initial idea is that after writing record 0 for stream A, it skips to stream B and writes a record if there's something to write. Then it skips to stream C and writes a record if there's something to write. Then it goes back to A to write a record if there's something to write, etc.
New paradigm for Mantis operation, to allow for multiple devices and unsynchronized data streams:
Each digitizer, or any other data-taking hardware, is implemented as a "device."
Each device can have one (or more?) data streams, and is handled by its own thread.
The file writer (multiple writers?) must be capable of switching between data streams. My initial idea is that after writing record 0 for stream A, it skips to stream B and writes a record if there's something to write. Then it skips to stream C and writes a record if there's something to write. Then it goes back to A to write a record if there's something to write, etc.