diff --git a/package/modbus/modbus.py b/package/modbus/modbus.py index 3cc536636..5b436d1f3 100644 --- a/package/modbus/modbus.py +++ b/package/modbus/modbus.py @@ -29,7 +29,9 @@ class ModBus(_modbus._ModBus): return ret def serializeWriteBits(self, addr: int, nb: int, src: list): - src = bytes(src) + src = bytes(len(src)) + for i in range(len(src)): + src[i] = 1 if src[i] else 0 return super().serializeWriteBits(addr, nb, src) def serializeWriteRegisters(self, addr: int, nb: int, src: list): diff --git a/port/linux/package/pikascript/modbus.py b/port/linux/package/pikascript/modbus.py index 3cc536636..5b436d1f3 100644 --- a/port/linux/package/pikascript/modbus.py +++ b/port/linux/package/pikascript/modbus.py @@ -29,7 +29,9 @@ class ModBus(_modbus._ModBus): return ret def serializeWriteBits(self, addr: int, nb: int, src: list): - src = bytes(src) + src = bytes(len(src)) + for i in range(len(src)): + src[i] = 1 if src[i] else 0 return super().serializeWriteBits(addr, nb, src) def serializeWriteRegisters(self, addr: int, nb: int, src: list):