I am using the 32-bit SDK to collect data from the PicoLog ADC-24. The software is being written in C#, and I am following guidance in the ADC-24 User's Guide, section 5 (document adc20.en). I have come across two issues:

Firstly, I attempted to use the streaming method of collecting data, as outlined in section 5.6.1.2 of the User's Guide. However, when using the function HRDLGetValues(), the indexing of the data returned is not correct. I am retrieving data from channels 1, 3, 5, 7, 9 (differential configuration). The first call to the function returns '5' (to indicate 5 channels are being returned) and returns the correct data in the correct order (i.e. 1, 3, 5, 7, 9). The second call to the function also returns the number '5' but returns in the sequence 5, 7, 9, 1, 3. The documentation outlines the "ordering" of returned data (section 5.4.9) of the HRDGetValues() function, but the driver does not appear to operate in the correct way, instead skipping channels 1 & 3, so causing the data to be assigned to the wrong channel. Having doubts over the correct indexing of the returned values using this function, I tried an alternative method, see below...

Secondly, I attempted the alternative approach of collecting data: "Single Value (non-blocking)", as outlined in section 5.6.2.2 of the User's Guide. Whilst this operates correctly at first, after a short while the function HRDLReady() blocks the code and returns no value.

I am using the latest version of the SDK for the PicoLog ADC-24 available on the website, version 10.6.10.22.

I would appreciate your guidance as to how I can deal with both (or either) of these issues so that I can reliably log data from this device.