Skip to content

Commit bd09cc5

Browse files
Added timeout parameters to SerialPortConnection constructor
1 parent 87fe114 commit bd09cc5

3 files changed

Lines changed: 15 additions & 6 deletions

File tree

README.md

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -148,4 +148,7 @@ Python 3.11 or higher
148148
- Added getter for underlying serial object in SerialPortConnection
149149

150150
## 0.0.22
151-
- Library specific exception classes
151+
- Library specific exception classes
152+
153+
## 0.0.23
154+
- Added timeout parameters to SerialPortConnection constructor

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
44

55
[project]
66
name = "science_mode_4"
7-
version = "0.0.22"
7+
version = "0.0.23"
88
authors = [
99
{ name="Marc Hofmann", email="marc-hofmann@gmx.de" },
1010
]

src/science_mode_4/utils/serial_port_connection.py

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -35,14 +35,20 @@ def list_science_mode_device_ports() -> list[serial.tools.list_ports_common.List
3535
return filtered_ports
3636

3737

38-
def __init__(self, port: str, error_timeout: int = 3):
39-
self._ser = serial.Serial(timeout = 0)
38+
def __init__(self, port: str, read_timeout_ins_s: float = 0, write_timeout_ins_s: float = 1, error_timeout_in_s: float = 3):
39+
self._ser = serial.Serial(timeout = read_timeout_ins_s, write_timeout=write_timeout_ins_s)
4040
self._ser.port = port
41-
self._error_timeout = error_timeout
41+
self._error_timeout_in_s = error_timeout_in_s
4242

4343
self._last_written_data = bytes()
4444

4545

46+
@property
47+
def internal_serial(self) -> serial.Serial:
48+
"""Getter for internal pySerial object"""
49+
return self._ser
50+
51+
4652
def open(self):
4753
self._ser.open()
4854

@@ -92,7 +98,7 @@ def _read_intern(self) -> bytes:
9298
except Exception: # pylint:disable=broad-exception-caught
9399
pass
94100

95-
time.sleep(self._error_timeout)
101+
time.sleep(self._error_timeout_in_s)
96102

97103
try:
98104
self.open()

0 commit comments

Comments
 (0)