Hi @flyingfishfinger, welcome to the Joulescope forum, and thank you for considering Joulescope for your application!
Let’s start with the basics. You can use capture.py or the standard Joulescope UI to record data to a JLS file. You can then open the JLS file in the Joulescope UI. Inside the Joulescope UI, you can browse the capture, analyze regions of interest, and even export those regions to a variety of data formats using dual markers. Joulescope samples at 2 millions samples per second. It records about 8.1 MB/s, and it can keep going until you run out of disk space.
The downsample_logging.py script is intended for long-term data logging (over days, weeks, months or even years) where you don’t care about short-term behavior. Today, it captures data at 2 Hz, but allows further downsampling for even more data reduction.
The Joulescope software does not yet support arbitrary downsampling, at least other than the 2 Hz statistics used for downsample_logging and the multimeter display. However, the next major feature after we wrap up our ongoing “preferences” feature work will be downsampling support. Due to how Joulescope operates, it must always run the ADC at the full rate (2 MSPS), but we can apply a filter and downsample in software. We will add support to the driver, UI and JLS files. We would like to have this feature out before the end of the year, but it will certainly be before the end of January 2020.
I also just made the change to downsample_logging and pyjoulescope to support configurable sampling rates of 1, 2, 4, 10, 20, 50,100 Hz. You can use them now from the GitHub source in the branches, and the next pyjoulescope release (likely next week) will contain this feature.