Skip to content

Commit 533ec3b

Browse files
authored
Merge pull request #176 from bmoneke/FixOpenWithSerial
Fix opening by serial number #169
2 parents 2a8bdd7 + 8db583d commit 533ec3b

File tree

5 files changed

+48
-43
lines changed

5 files changed

+48
-43
lines changed

picoscope/ps3000a.py

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -151,14 +151,15 @@ def __init__(self, serialNumber=None, connect=True):
151151

152152
super(PS3000a, self).__init__(serialNumber, connect)
153153

154-
def _lowLevelOpenUnit(self, sn):
154+
def _lowLevelOpenUnit(self, serialNumber):
155155
c_handle = c_int16()
156-
if sn is not None:
157-
serialNullTermStr = byref(create_string_buffer(sn))
156+
if serialNumber is not None:
157+
serialNumberStr = create_string_buffer(bytes(serialNumber,
158+
encoding='utf-8'))
158159
else:
159-
serialNullTermStr = None
160+
serialNumberStr = None
160161
# Passing None is the same as passing NULL
161-
m = self.lib.ps3000aOpenUnit(byref(c_handle), serialNullTermStr)
162+
m = self.lib.ps3000aOpenUnit(byref(c_handle), serialNumberStr)
162163
self.handle = c_handle.value
163164

164165
# copied over from ps5000a:

picoscope/ps4000.py

Lines changed: 12 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -158,26 +158,27 @@ def __init__(self, serialNumber=None, connect=True):
158158
raise NotImplementedError('Timebase functions have not been '
159159
'written for the ' + unit_number)
160160

161-
def _lowLevelOpenUnit(self, sn):
161+
def _lowLevelOpenUnit(self, serialNumber):
162162
c_handle = c_int16()
163-
if sn is not None:
164-
serialNullTermStr = create_string_buffer(sn)
163+
if serialNumber is not None:
164+
serialNumberStr = create_string_buffer(bytes(serialNumber,
165+
encoding='utf-8'))
165166
else:
166-
serialNullTermStr = None
167+
serialNumberStr = None
167168
# Passing None is the same as passing NULL
168-
m = self.lib.ps4000OpenUnit(byref(c_handle), serialNullTermStr)
169+
m = self.lib.ps4000OpenUnit(byref(c_handle), serialNumberStr)
169170
self.checkResult(m)
170171
self.handle = c_handle.value
171172

172-
def _lowLevelOpenUnitAsync(self, sn):
173+
def _lowLevelOpenUnitAsync(self, serialNumber):
173174
c_status = c_int16()
174-
if sn is not None:
175-
serialNullTermStr = create_string_buffer(sn)
175+
if serialNumber is not None:
176+
serialNumberStr = create_string_buffer(bytes(serialNumber,
177+
encoding='utf-8'))
176178
else:
177-
serialNullTermStr = None
178-
179+
serialNumberStr = None
179180
# Passing None is the same as passing NULL
180-
m = self.lib.ps4000OpenUnitAsync(byref(c_status), serialNullTermStr)
181+
m = self.lib.ps4000OpenUnitAsync(byref(c_status), serialNumberStr)
181182
self.checkResult(m)
182183

183184
return c_status.value

picoscope/ps5000.py

Lines changed: 12 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -153,26 +153,27 @@ def __init__(self, serialNumber=None, connect=True):
153153

154154
super(PS5000, self).__init__(serialNumber, connect)
155155

156-
def _lowLevelOpenUnit(self, sn):
156+
def _lowLevelOpenUnit(self, serialNumber):
157157
c_handle = c_int16()
158-
if sn is not None:
159-
serialNullTermStr = create_string_buffer(sn)
158+
if serialNumber is not None:
159+
serialNumberStr = create_string_buffer(bytes(serialNumber,
160+
encoding='utf-8'))
160161
else:
161-
serialNullTermStr = None
162+
serialNumberStr = None
162163
# Passing None is the same as passing NULL
163-
m = self.lib.ps5000OpenUnit(byref(c_handle), serialNullTermStr)
164+
m = self.lib.ps5000OpenUnit(byref(c_handle), serialNumberStr)
164165
self.checkResult(m)
165166
self.handle = c_handle.value
166167

167-
def _lowLevelOpenUnitAsync(self, sn):
168+
def _lowLevelOpenUnitAsync(self, serialNumber):
168169
c_status = c_int16()
169-
if sn is not None:
170-
serialNullTermStr = create_string_buffer(sn)
170+
if serialNumber is not None:
171+
serialNumberStr = create_string_buffer(bytes(serialNumber,
172+
encoding='utf-8'))
171173
else:
172-
serialNullTermStr = None
173-
174+
serialNumberStr = None
174175
# Passing None is the same as passing NULL
175-
m = self.lib.ps5000OpenUnitAsync(byref(c_status), serialNullTermStr)
176+
m = self.lib.ps5000OpenUnitAsync(byref(c_status), serialNumberStr)
176177
self.checkResult(m)
177178

178179
return c_status.value

picoscope/ps5000a.py

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -143,14 +143,15 @@ def __init__(self, serialNumber=None, connect=True):
143143

144144
super(PS5000a, self).__init__(serialNumber, connect)
145145

146-
def _lowLevelOpenUnit(self, sn):
146+
def _lowLevelOpenUnit(self, serialNumber):
147147
c_handle = c_int16()
148-
if sn is not None:
149-
serialNullTermStr = create_string_buffer(sn)
148+
if serialNumber is not None:
149+
serialNumberStr = create_string_buffer(bytes(serialNumber,
150+
encoding='utf-8'))
150151
else:
151-
serialNullTermStr = None
152+
serialNumberStr = None
152153
# Passing None is the same as passing NULL
153-
m = self.lib.ps5000aOpenUnit(byref(c_handle), serialNullTermStr,
154+
m = self.lib.ps5000aOpenUnit(byref(c_handle), serialNumberStr,
154155
self.resolution)
155156
self.handle = c_handle.value
156157

picoscope/ps6000.py

Lines changed: 12 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -154,26 +154,27 @@ def __init__(self, serialNumber=None, connect=True):
154154

155155
super(PS6000, self).__init__(serialNumber, connect)
156156

157-
def _lowLevelOpenUnit(self, sn):
157+
def _lowLevelOpenUnit(self, serialNumber):
158158
c_handle = c_int16()
159-
if sn is not None:
160-
serialNullTermStr = create_string_buffer(sn)
159+
if serialNumber is not None:
160+
serialNumberStr = create_string_buffer(bytes(serialNumber,
161+
encoding='utf-8'))
161162
else:
162-
serialNullTermStr = None
163+
serialNumberStr = None
163164
# Passing None is the same as passing NULL
164-
m = self.lib.ps6000OpenUnit(byref(c_handle), serialNullTermStr)
165+
m = self.lib.ps6000OpenUnit(byref(c_handle), serialNumberStr)
165166
self.checkResult(m)
166167
self.handle = c_handle.value
167168

168-
def _lowLevelOpenUnitAsync(self, sn):
169+
def _lowLevelOpenUnitAsync(self, serialNumber):
169170
c_status = c_int16()
170-
if sn is not None:
171-
serialNullTermStr = create_string_buffer(sn)
171+
if serialNumber is not None:
172+
serialNumberStr = create_string_buffer(bytes(serialNumber,
173+
encoding='utf-8'))
172174
else:
173-
serialNullTermStr = None
174-
175+
serialNumberStr = None
175176
# Passing None is the same as passing NULL
176-
m = self.lib.ps6000OpenUnitAsync(byref(c_status), serialNullTermStr)
177+
m = self.lib.ps6000OpenUnitAsync(byref(c_status), serialNumberStr)
177178
self.checkResult(m)
178179

179180
return c_status.value

0 commit comments

Comments
 (0)