Skip to content

Commit 540d75b

Browse files
committed
read the response after setting a filter wheel position
1 parent 7fbace9 commit 540d75b

File tree

1 file changed

+6
-1
lines changed
  • src/navigate/model/devices/filter_wheel

1 file changed

+6
-1
lines changed

src/navigate/model/devices/filter_wheel/sutter.py

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -237,10 +237,14 @@ def set_filter(self, filter_name, wait_until_done=True):
237237
)
238238
output_command = output_command.to_bytes(1, "little")
239239
self.serial.write(output_command)
240+
# read echoing back
241+
self.read(1)
240242

241243
# Wheel Position Change Delay
242244
if wait_until_done:
243245
time.sleep(self.wait_until_done_delay)
246+
# read 0D back.
247+
self.read(1)
244248

245249
def read(self, num_bytes):
246250
"""Reads the specified number of bytes from the serial port.
@@ -263,7 +267,8 @@ def read(self, num_bytes):
263267
"""
264268
for i in range(100):
265269
num_waiting = self.serial.inWaiting()
266-
if num_waiting == num_bytes:
270+
# if there are unread returns from previous commands
271+
if num_waiting >= num_bytes:
267272
break
268273
time.sleep(0.02)
269274
else:

0 commit comments

Comments
 (0)