I am adding ps3223 support to our scope application. The software uses block mode and ps3000_get_values. Single channel A is set and has voltage overflow on it. After ps3000_get_values returns, overflow output parameter is set to 2. This does not match ps3000_get_values specification that defines Bit 0 as an overflow flag for channel A. According to the specification the overflow parameter should be 1. All other channels are also shifted by one bit:
Bit1 -> Channel A
Bit2 -> Channel B
Bit3 -> Channel C
Bit4 -> Channel D
The same problem exists on ps3000_get_times_and_values.
Thank you for the reply and the updated ps3000.dll.
Unfortunately, the attached ps3000.dll (v 3.3.3.0) does not work for me. ps3000_ready in the example above never returns 1. I will wait for the official release.
The workaround with shifting by one bit seems to work fine but requires installation of ps3000.dll to the application target folder. Please keep in mind that some developers may have implemented this workaround as well. If they install ps3000.dll v 3.2.4.0 to System32 folder and another application puts newer fixed ps3000.dll to System32, the first application will not be able to detect overflow properly.