Add dev-tests/test-allow-missing-uart.py

This commit is contained in:
2026-03-11 01:05:50 +00:00
parent 07141a9c35
commit 17f5ea53f5

View File

@@ -0,0 +1,25 @@
from pybricks.iodevices import UARTDevice as _UARTDevice
from pybricks.tools import wait
from uerrno import ETIMEDOUT
class FakeUART:
def __init__(self, port, baudrate, timeout):
self.timeout = timeout
print("Warning: No physical UART detected. Using simulator.")
def read(self, length=1):
if self.timeout is not None:
wait(self.timeout)
raise OSError(ETIMEDOUT)
else:
while True:
wait(1000)
def write(self, data):
pass
def UARTDevice(port, baudrate=9600, timeout=None):
try:
return _UARTDevice(port, baudrate, timeout)
except OSError:
return FakeUART(port, baudrate, timeout)