diff options
| author | robert-hh <robert@hammelrath.com> | 2024-01-08 09:25:33 +0100 |
|---|---|---|
| committer | Damien George <damien@micropython.org> | 2024-01-16 09:07:03 +1100 |
| commit | c41b421d48a86ed1c1406123e7ee6d084e462afa (patch) | |
| tree | 676f5071acaa1ee87c080d771ca0c5e3af3dc7f8 | |
| parent | 07472d05db64a0990b4d47cb001d1a40ba78414f (diff) | |
tests/extmod/machine_uart_tx.py: Add a test for timing of UART.flush().
Currently only runs on rp2 but could be extended to run on other targets.
Signed-off-by: robert-hh <robert@hammelrath.com>
| -rw-r--r-- | tests/extmod/machine_uart_tx.py | 34 | ||||
| -rw-r--r-- | tests/extmod/machine_uart_tx.py.exp | 3 |
2 files changed, 37 insertions, 0 deletions
diff --git a/tests/extmod/machine_uart_tx.py b/tests/extmod/machine_uart_tx.py new file mode 100644 index 000000000..54c0af2b2 --- /dev/null +++ b/tests/extmod/machine_uart_tx.py @@ -0,0 +1,34 @@ +# Test machine.UART transmission. +# Does not require any external connections. + +try: + from machine import UART +except ImportError: + print("SKIP") + raise SystemExit + +import time, sys + +# Configure pins based on the target. +if "rp2" in sys.platform: + uart_id = 0 + tx_pin = "GPIO0" + rx_pin = "GPIO1" +else: + print("SKIP") + raise SystemExit + +# Test that write+flush takes the expected amount of time to execute. +for bits_per_s in (2400, 9600, 115200): + text = "Hello World" + uart = UART(uart_id, bits_per_s, bits=8, parity=None, stop=1, tx=tx_pin, rx=rx_pin) + + start_us = time.ticks_us() + uart.write(text) + uart.flush() + duration_us = time.ticks_diff(time.ticks_us(), start_us) + + # 1(startbit) + 8(bits) + 1(stopbit) + 0(parity) + bits_per_char = 10 + expect_us = (len(text)) * bits_per_char * 1_000_000 // bits_per_s + print(bits_per_s, duration_us <= expect_us) diff --git a/tests/extmod/machine_uart_tx.py.exp b/tests/extmod/machine_uart_tx.py.exp new file mode 100644 index 000000000..0432ab94a --- /dev/null +++ b/tests/extmod/machine_uart_tx.py.exp @@ -0,0 +1,3 @@ +2400 True +9600 True +115200 True |
