It appears that your computer is going off and doing something other than getting Joulescope data. Joulescope currently uses USB Bulk IN mode, which guarantees correctness but not timeliness. If your computer starts accessing other USB devices, such as a flash drive or decides to do something else than service the Joulescope process, then Joulescope data will be lost. I looked at one particular case where 3.3 seconds appears to be lost:
I also noticed that these captures are at 10 Hz, not 10 kHz.
Here is the zoomed in view:
The difference in display is due to how the Joulescope UI displays the value. In the first image, the Joulescope UI displays a data reduction with mean/min/max. In the second image, the Joulescope UI is directly displaying the samples (no mean/min/max available). The reason for this display difference is historical. The statistics end up being the same with this segment ignored.
How much can this impact your measurements? I measure a segment from 5844 to 8247 seconds, which has 11 drops, or about 1 drop every 239 seconds. I measured drops to be about 3.5 seconds, or about 1.5%. This is a MUCH higher drop rate than I would expect,
For what its worth, these drops are captured in the Joulescope UI log file, and indicated by the USB text background at the bottom right changing from green to yellow or red. Drops in the log will say something like:
status YELLOW: dsample_id=nnn, d_sample_missing_count=nnn
status RED: dsample_id=nnn, d_sample_missing_count=nnn
So, the question is, why is your computer not servicing Joulescope’s USB Bulk IN data? What else is it doing? For the most reliable long-term captures, especially while using multiple Joulescopes, you should disable all other software on your computer. Modern computers actively manage power, which can cause issues. Here are some things to check:
- Ensure that all drivers are up to date, especially video, USB root hub, and networking.
- Ensure that your BIOS is up to date.
- Disable power management features known to cause issues:
- PCI Express Link state power management - off
- Fast startup - off
- Disable C-States in BIOS
- Ensure that your HDD is good
- In File Explorer, right-click drive, tools, Check
- Run: sfc /scannow
- Turn off Windows Update
- Consider disabling virus scanning, especially on the Joulescope recording output directory.
Googling for win10 freezes will bring up links like this and more.
Another option is to attempt to reduce the processing overhead required. What is your CPU utilization while capturing this data?
Supporting USB isochronous IN has been on my list for a long time. It will help prioritize Joulescope USB traffic in the presence of other USB devices. However, it will not fix the problem of your computer going out to lunch or taking too much CPU. My primary desktop still has a video driver issue that causes it to become unresponsive for about 5 seconds a few times a day. This single video driver issue impacts every other application, including Zoom, my Saleae Logic Pro 16, and Joulescope data collection.