Skip to content

Releases: petertorelli/joulescope-win32

Added async file access via ringbuffer

25 Feb 16:04
639cbd5
Compare
Choose a tag to compare

Added two layers of buffering and async file writes.

The RawBuffer stores the incoming 2Msps stream during the first half of the device endpoint processing, and when that thread invokes process_signal on the endpoint, those samples are sent to the FileWriter. The file writer runs down-samples as needed, and observes IN0 events, and stores the values in a ring buffer. As each page of the ringbuffer fills, it is dispatched with an overlapped FileWrite, and the callback advances the tail pointer in a different thread.

This significantly reduced file-write penalties on heavily managed IT systems.