Skip to content

Commit 514e36b

Browse files
authored
Update ps5000aRapidBlockExample.py
This example program will randomly crash with access violations (0xC0000005). Have traced this to ctypes.byref() passing pointers with incorrect memory sizes on the indicated lines: * 81-82 GetTimeBase2 expects returnedMaxSamples as * int32_t, was receiving byref(int16). * 290-292 GetValuesTimeOffsetBulk64 expects Times as * int64_t, was receiving byref(int16).
1 parent ddd796d commit 514e36b

File tree

1 file changed

+2
-2
lines changed

1 file changed

+2
-2
lines changed

ps5000aExamples/ps5000aRapidBlockExample.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@
7878
# MaxSamples = ctypes.byref(returnedMaxSamples)
7979
# Segement index = 0
8080
timeIntervalns = ctypes.c_float()
81-
returnedMaxSamples = ctypes.c_int16()
81+
returnedMaxSamples = ctypes.c_int32()
8282
status["GetTimebase"] = ps.ps5000aGetTimebase2(chandle, timebase, maxsamples, ctypes.byref(timeIntervalns), ctypes.byref(returnedMaxSamples), 0)
8383
assert_pico_ok(status["GetTimebase"])
8484

@@ -286,7 +286,7 @@
286286
# Timeunits = TimeUnits = ctypes.c_char() = ctypes.byref(TimeUnits)
287287
# Fromsegmentindex = 0
288288
# Tosegementindex = 9
289-
Times = (ctypes.c_int16*10)()
289+
Times = (ctypes.c_int64*10)()
290290
TimeUnits = ctypes.c_char()
291291
status["GetValuesTriggerTimeOffsetBulk"] = ps.ps5000aGetValuesTriggerTimeOffsetBulk64(chandle, ctypes.byref(Times), ctypes.byref(TimeUnits), 0, 9)
292292
assert_pico_ok(status["GetValuesTriggerTimeOffsetBulk"])

0 commit comments

Comments
 (0)