Skip to content

Releases: brainelectronics/micropython-modbus

2.1.3-rc20.dev45

30 Dec 07:40
c622dba
Compare
Choose a tag to compare
2.1.3-rc20.dev45 Pre-release
Pre-release

Fixed

  • uart_id can be specified during init of ModbusRTU and Serial class and is no longer hardcoded to 1, but set as 1 by default to ensure backwards compability, see #7 and #43
  • RTU Client example and USAGE documentation updated with new uart_id parameter

2.1.2

29 Dec 19:42
ebb8258
Compare
Choose a tag to compare

Changed

  • Baudrate specific inter frame time is used at Modbus RTU internal function _uart_read of serial.py instead of constant value of 5ms

Fixed

  • ESP32 port specific wait_tx_done function replaced by generic wait time calculation in _send function of serial.py, see #34
  • A 1ms delay has been added between turning the RS485 control pin on and sending the Modbus PDU in _send function of serial.py

2.1.2-rc19.dev42

28 Dec 22:14
3b89d7e
Compare
Choose a tag to compare
2.1.2-rc19.dev42 Pre-release
Pre-release

Changed

  • Baudrate specific inter frame time is used at Modbus RTU internal function _uart_read of serial.py instead of constant value of 5ms

Fixed

  • ESP32 port specific wait_tx_done function replaced by generic wait time calculation in _send function of serial.py, see #34
  • A 1ms delay has been added between turning the RS485 control pin on and sending the Modbus PDU in _send function of serial.py

2.1.2-rc18.dev42

28 Dec 09:56
b7059ae
Compare
Choose a tag to compare
2.1.2-rc18.dev42 Pre-release
Pre-release

Changed

  • Baudrate specific inter frame time is used at Modbus RTU internal function _uart_read of serial.py instead of constant value of 5ms

Fixed

  • ESP32 port specific wait_tx_done function replaced by generic wait time calculation in _send function of serial.py, see #34
  • A 1ms delay has been added between turning the RS485 control pin on and sending the Modbus PDU in _send function of serial.py

2.1.1

28 Dec 08:21
4699684
Compare
Choose a tag to compare

Fixed

  • Removed unnecessary dependency to micropython-urequests from Docker files, setup guide and package setup file
  • Enable Modbus Client mode for RTU implementation, see #40, removed during #33

2.1.1-rc17.dev41

27 Dec 16:26
5a64b48
Compare
Choose a tag to compare
2.1.1-rc17.dev41 Pre-release
Pre-release

Fixed

  • Removed unnecessary dependency to micropython-urequests from Docker files, setup guide and package setup file
  • Enable Modbus Client mode for RTU implementation, see #40, removed during #33

2.1.0

27 Dec 15:37
00f5916
Compare
Choose a tag to compare

Added

  • Typing hints available for all functions of umodbus, see #27
  • Docstrings available for all constants, functions and classes of umodbus, see #27
  • Test for reading more than 8 coils in a row to verify fix of #36
  • Test for reading single negative holding register value
  • Test for writing multiple coils to verify fix of #22
  • Test for writing multiple registers to verify fix of #23
  • Usage documentation for coil, discrete inputs, holding register and input register usage
  • Modbus TCP IP and port binding can be checked with is_bound property in tcp.py

Changed

  • Reordered modules of API documentation
  • data_as_registers and data_as_bits of common.py removed
  • Send illegal function code 0x01 if a register other than coil or holding register is requested to be set
  • Simplified _process_write_access logic of tcp.py

Fixed

  • Typing hints of function input parameters and return values
  • Response data of multiple changed registers (write_multiple_registers) is validated with respect to the provided signed flag in serial.py and tcp.py, see #23
  • Enable reading more than 8 coils in a row, see #36
  • Writing multiple coils in TCP, see #22
  • Writing multiple registers in TCP, see #23
  • Unit test test_bytes_to_bool uses MSB and LSB data correctly
  • Only requested amount of registers are returned by _process_read_access logic of tcp.py, see #35

2.1.0-rc15.dev39

17 Dec 17:21
b153a9e
Compare
Choose a tag to compare
2.1.0-rc15.dev39 Pre-release
Pre-release

Added

  • Typing hints available for all functions of umodbus, see #27
  • Docstrings available for all constants, functions and classes of umodbus, see #27
  • Test for reading more than 8 coils in a row to verify fix of #36
  • Test for reading single negative holding register value
  • Test for writing multiple coils to verify fix of #22
  • Test for writing multiple registers to verify fix of #23
  • Usage documentation for coil, discrete inputs, holding register and input register usage
  • Modbus TCP IP and port binding can be checked with is_bound property in tcp.py

Changed

  • Reordered modules of API documentation
  • data_as_registers and data_as_bits of common.py removed
  • Send illegal function code 0x01 if a register other than coil or holding register is requested to be set
  • Simplified _process_write_access logic of tcp.py

Fixed

  • Typing hints of function input parameters and return values
  • Response data of multiple changed registers (write_multiple_registers) is validated with respect to the provided signed flag in serial.py and tcp.py, see #23
  • Enable reading more than 8 coils in a row, see #36
  • Writing multiple coils in TCP, see #22
  • Writing multiple registers in TCP, see #23
  • Unit test test_bytes_to_bool uses MSB and LSB data correctly

2.1.0-rc14.dev39

17 Dec 16:37
1764f41
Compare
Choose a tag to compare
2.1.0-rc14.dev39 Pre-release
Pre-release

Added

  • Typing hints available for all functions of umodbus, see #27
  • Docstrings available for all constants, functions and classes of umodbus, see #27
  • Test for reading more than 8 coils in a row to verify fix of #36
  • Test for reading single negative holding register value
  • Test for writing multiple coils to verify fix of #22
  • Test for writing multiple registers to verify fix of #23
  • Usage documentation for coil, discrete inputs, holding register and input register usage
  • Modbus TCP IP and port binding can be checked with is_bound property in tcp.py

Changed

  • Reordered modules of API documentation
  • data_as_registers and data_as_bits of common.py removed
  • Send illegal function code 0x01 if a register other than coil or holding register is requested to be set
  • Simplified _process_write_access logic of tcp.py

Fixed

  • Typing hints of function input parameters and return values
  • Response data of multiple changed registers (write_multiple_registers) is validated with respect to the provided signed flag in serial.py and tcp.py, see #23
  • Enable reading more than 8 coils in a row, see #36
  • Writing multiple coils in TCP, see #22
  • Writing multiple registers in TCP, see #23
  • Unit test test_bytes_to_bool uses MSB and LSB data correctly

2.0.0

11 Dec 11:41
eee18c2
Compare
Choose a tag to compare

Added

Changed

  • Use default values for all registers defined in the example JSON
  • TCP host example and TCP client example define a static IP address and skip further WiFi setup steps in case a Docker usage is detected by a failing import of the network module, contributes to #16
  • Define all Modbus function codes as const() to avoid external modifications, contributes to #18
  • Remove dependency to Serial and requests from umodbus.modbus, see #18
  • ModbusRTU class is part of serial.py, see #18
  • ModbusTCP class is part of tcp.py, see #18
  • ModbusRTU and ModbusTCP classes and related functions removed from modbus.py, see #18
  • Imports changed from:
  • from umodbus.modbus import ModbusRTU to from umodbus.serial import ModbusRTU
  • from umodbus.modbus import ModbusTCP to from umodbus.tcp import ModbusTCP
  • read_coils and read_discrete_inputs return a list with the same length as the requested quantity instead of always 8, see #12 and #25
  • Common functions bytes_to_bool and to_short moved to functions.py
  • Use HTTPS URL instead of SSH for submodule
  • Cleanup of root README, content moved to SETUP and USAGE, contributes to #30
  • Moved SETUP and USAGE into docs folder, see #26 contributes to #30
  • Use False or 0 as default values for registers without a specific initial value in modbus.py

Fixed

  • read_coils returns list with amount of requested coils, see #12
  • read_holding_registers returns list with amount of requested registers, see #25