Skip to content

Commit d13829e

Browse files
author
neil.hamilton
committed
Add advanced triggering structures and enums to ps3000a.py
1 parent 6a59ceb commit d13829e

File tree

1 file changed

+57
-1
lines changed

1 file changed

+57
-1
lines changed

picosdk/ps3000a.py

Lines changed: 57 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -137,11 +137,67 @@ def _define_digital_port():
137137

138138
ps3000a.PS3000A_DIGITAL_PORT = _define_digital_port()
139139

140+
ps3000a.PS3000A_TRIGGER_STATE = make_enum([
141+
"PS3000A_CONDITION_DONT_CARE",
142+
"PS3000A_CONDITION_TRUE",
143+
"PS3000A_CONDITION_FALSE",
144+
"PS3000A_CONDITION_MAX"
145+
])
146+
147+
ps3000a.PS3000A_THRESHOLD_DIRECTION = make_enum([
148+
("PS3000A_ABOVE", PS3000A_INSIDE),
149+
("PS3000A_BELOW",, "PS3000A_OUTSIDE"),
150+
("PS3000A_RISING", "PS3000A_ENTER"),
151+
("PS3000A_FALLING", "PS3000A_EXIT"),
152+
("PS3000A_RISING_OR_FALLING", "PS3000A_ENTER_OR_EXIT"),
153+
"PS3000A_ABOVE_LOWER",
154+
"PS3000A_BELOW_LOWER",
155+
"PS3000A_RISING_LOWER",
156+
"PS3000A_FALLING_LOWER"
157+
"PS3000A_POSITIVE_RUNT",
158+
"PS3000A_NEGATIVE_RUNT"
159+
])
160+
161+
ps3000a.PS3000A_THRESHOLD_MODE = make_enum([
162+
"PS3000A_LEVEL",
163+
"PS3000A_WINDOW"
164+
])
165+
140166
class PS3000A_DIGITAL_CHANNEL_DIRECTIONS(Structure):
141167
_pack_ = 1
142168
_fields_ = [("channel", c_int32),
143169
("direction", c_int32)]
144-
170+
171+
class PS3000A_TRIGGER_CONDITIONS(Structure):
172+
_pack_ = 1
173+
_fields_ = [("channelA", c_uint32),
174+
("channelB", c_uint32),
175+
("channelC", c_uint32),
176+
("channelD", c_uint32),
177+
("external", c_uint32),
178+
("aux", c_uint32),
179+
("pulseWidthQualifier", c_uint32)]
180+
181+
class PS3000A_TRIGGER_CONDITIONS_V2(Structure):
182+
_pack_ = 1
183+
_fields_ = [("channelA", c_uint32),
184+
("channelB", c_uint32),
185+
("channelC", c_uint32),
186+
("channelD", c_uint32),
187+
("external", c_uint32),
188+
("aux", c_uint32),
189+
("pulseWidthQualifier", c_uint32),
190+
("digital", c_uint32)]
191+
192+
class PS3000A_TRIGGER_CHANNEL_PROPERTIES(Structure):
193+
_pack_ = 1
194+
_fields_ = [("thresholdUpper", c_int16),
195+
("thresholdUpperHysteresis", c_uint16),
196+
("thresholdLower", c_int16),
197+
("thresholdLowerHysteresis", c_uint16),
198+
("channel", c_uint32),
199+
("thresholdMode", c_uint32)]
200+
145201
doc = """ PICO_STATUS ps3000aOpenUnit
146202
(
147203
int16_t *handle,

0 commit comments

Comments
 (0)