From 8ffa0b2498b88e220d43e5af9aec4faa7d01ba19 Mon Sep 17 00:00:00 2001 From: Olli-Pekka Kahilakoski Date: Sun, 17 Oct 2021 23:00:27 +0300 Subject: [PATCH] MOD: Trigger pulse by sending BREAK via serial port --- invesalius/constants.py | 1 + invesalius/data/serial_port_connection.py | 6 +++--- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/invesalius/constants.py b/invesalius/constants.py index cfe4acb..ef467dc 100644 --- a/invesalius/constants.py +++ b/invesalius/constants.py @@ -834,3 +834,4 @@ WILDCARD_MARKER_FILES = _("Marker scanner coord files (*.mkss)|*.mkss") # Serial port BAUD_RATES = [300, 1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200] BAUD_RATE_DEFAULT_SELECTION = 4 +PULSE_DURATION_IN_MILLISECONDS = 5 diff --git a/invesalius/data/serial_port_connection.py b/invesalius/data/serial_port_connection.py index 684bbb0..00fd3c3 100644 --- a/invesalius/data/serial_port_connection.py +++ b/invesalius/data/serial_port_connection.py @@ -22,12 +22,12 @@ import threading import time import wx + +from invesalius import constants from invesalius.pubsub import pub as Publisher class SerialPortConnection(threading.Thread): - BINARY_PULSE = b'\x01' - def __init__(self, com_port, baud_rate, serial_port_queue, event, sleep_nav): """ Thread created to communicate using the serial port to interact with software during neuronavigation. @@ -65,7 +65,7 @@ class SerialPortConnection(threading.Thread): def SendPulse(self): try: - self.connection.write(self.BINARY_PULSE) + self.connection.send_break(constants.PULSE_DURATION_IN_MILLISECONDS / 1000) Publisher.sendMessage('Serial port pulse triggered') except: print("Error: Serial port could not be written into.") -- libgit2 0.21.2