Skip to content

Commit 2b54356

Browse files
nordic-baminordic-piks
authored andcommitted
tests: drivers: uart: Fix serial connection errors in uart passtrough test
Enable HW flow control Do not break on first error Show send/receive log Signed-off-by: Bartosz Miller <[email protected]>
1 parent adfd173 commit 2b54356

File tree

4 files changed

+18
-16
lines changed

4 files changed

+18
-16
lines changed

tests/drivers/uart/uart_passtrough/boards/nrf5340dk_nrf5340_cpuapp.overlay

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,3 +16,7 @@
1616
status = "okay";
1717
hw-flow-control;
1818
};
19+
20+
&uart0 {
21+
hw-flow-control;
22+
};

tests/drivers/uart/uart_passtrough/boards/nrf54h20dk_nrf54h20_cpuapp.overlay

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,3 +17,7 @@
1717
memory-regions = <&cpuapp_dma_region>;
1818
hw-flow-control;
1919
};
20+
21+
&uart136 {
22+
hw-flow-control;
23+
};

tests/drivers/uart/uart_passtrough/pytest/serial_port.py

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -44,24 +44,22 @@ def _instanitate_serial_port(self) -> serial.Serial:
4444
logger.error(f"Opening '{self.port_name}' failed with error: {exc}!")
4545
raise exc
4646

47-
def close(
48-
self,
49-
):
47+
def close(self):
5048
"""
5149
Close serial port
5250
"""
5351
if self.serial_port:
54-
logger.debug("Closing serial port connection")
52+
logger.info("Closing serial port connection")
5553
self.serial_port.close()
56-
logger.debug("Serial port connection closed")
54+
logger.info("Serial port connection closed")
5755
self.serial_port = None
5856

5957
def open(self) -> None:
6058
"""
6159
Open serial port
6260
"""
6361
if not self.serial_port.is_open:
64-
logger.debug(f"Opening: '{self}'")
62+
logger.info(f"Opening: '{self}'")
6563
self.serial_port.open()
6664
self.serial_port.reset_input_buffer()
6765
self.serial_port.reset_output_buffer()
@@ -79,7 +77,7 @@ def send(
7977
try:
8078
time.sleep(0.25)
8179
self.serial_port.write_timeout = self._timeout
82-
logger.debug(f"[{self.serial_port.port}] Serial --> {message}")
80+
logger.info(f"[{self.serial_port.port}] Serial --> {message}")
8381
line_termination: str = "\n" if add_line_termination else ""
8482
self.serial_port.write((message + line_termination).encode())
8583
if get_response:
@@ -90,7 +88,7 @@ def send(
9088
while (self.serial_port.in_waiting > 0) and (time.time() - start < self._timeout):
9189
time.sleep(0.1)
9290
response += self.serial_port.read_all().decode()
93-
logger.debug(f"Serial <-- {response}")
91+
logger.info(f"Serial <-- {response}")
9492
return response
9593

9694
except serial.SerialTimeoutException as exc:
@@ -114,8 +112,8 @@ def read_data_until_matched(self, message_to_find: str) -> bool:
114112
while time.perf_counter() - start < self._timeout:
115113
try:
116114
if self.serial_port.in_waiting > 0:
117-
data += self.serial_port.read_all().decode()
118-
logger.debug(data)
115+
data += self.serial_port.read_all().decode(errors="replace")
116+
logger.info(data)
119117
if message_to_find in data:
120118
return True
121119
time.sleep(0.1)

tests/drivers/uart/uart_passtrough/pytest/test_passtrough.py

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -62,13 +62,9 @@ def test_uart_passtrough(dut: DeviceAdapter):
6262

6363
console_serial_port.open()
6464
passtrough_serial_port.open()
65-
send_with_dead_time_between_characters(
66-
console_serial_port.send, first_message, DEAD_TIME_S
67-
)
65+
send_with_dead_time_between_characters(console_serial_port.send, first_message, DEAD_TIME_S)
6866
first_search_result: bool = passtrough_serial_port.read_data_until_matched(first_message)
69-
send_with_dead_time_between_characters(
70-
passtrough_serial_port.send, second_message, DEAD_TIME_S
71-
)
67+
send_with_dead_time_between_characters(passtrough_serial_port.send, second_message, DEAD_TIME_S)
7268
second_search_result: bool = console_serial_port.read_data_until_matched(second_message)
7369
passtrough_serial_port.close()
7470
console_serial_port.close()

0 commit comments

Comments
 (0)