diff --git a/firmware/rust1/reset.py b/firmware/rust1/reset.py new file mode 100644 index 0000000000000000000000000000000000000000..2e20e038a2869399283eff1955f4e4df34147abf --- /dev/null +++ b/firmware/rust1/reset.py @@ -0,0 +1,11 @@ +# https://github.com/earlephilhower/arduino-pico/blob/c095fce5b2f26b03fa0e6374e3371a1799abb5b1/tools/uf2conv.py#L374C1-L382C32 +import serial, time +ser = serial.Serial() +ser.port = "/dev/ttyACM0" +ser.open() +ser.baudrate = 9600 +ser.dtr = True +time.sleep(0.1) +ser.dtr = False +ser.baudrate = 1200 +ser.close() diff --git a/firmware/rust1/rtumaster_pymodbus.py b/firmware/rust1/rtumaster_pymodbus.py index bd890c24faee1626907d461b8132ed1d664f4836..9c8ba6831b0afecec8c1cc52d5d931034fa37756 100644 --- a/firmware/rust1/rtumaster_pymodbus.py +++ b/firmware/rust1/rtumaster_pymodbus.py @@ -39,6 +39,8 @@ def main(): logger.info("connected") x = client.read_holding_registers(address=1, count=1, slave=DEVICE_ADDR) + if isinstance(x, ModbusException): + raise x logger.info("holding reg 1: %s: %r", x, x.registers) scratch_reg = 2 @@ -96,7 +98,7 @@ def main(): time.sleep(0.1) except ModbusException as exc: - logger.error("%s", exc) + logger.exception("%s", exc) if __name__ == "__main__": main()