Skip to content

Releases: EnviroDIY/SensorModbusMaster

v1.3.0

22 Aug 19:58

Choose a tag to compare

Changed

  • The sendCommand function will now return a value of > 4095 (0x0FFF) if there has been an error. The upper most byte of the uint16_t response to the command is the modbus error code. This makes it much easier to differentiate error responses and no responses.

Added

  • Added extra functions specifying "holding" or "input" in the function name.
  • Added the ability to change the number of times to retry commands.
  • Added the ability to change the command and frame timeouts.
  • Added an enum for modbus error codes.
  • Added a variable to store the last error code, which can be checked with getLastError() and printed with printLastError().

Fixed

  • Fixed calculate of expected return size

v1.2.0

19 Aug 21:30

Choose a tag to compare

Changed

  • When dumping the buffer, wait the frame timeout time between characters instead of a set 1ms.

v1.1.0

19 Aug 20:49

Choose a tag to compare

Added

  • Added setters and getters for the enable pin, modbus command timeout, and modbus frame timeout.

v1.0.1

18 Aug 19:33

Choose a tag to compare

Fixed

  • Corrected comments on input and holding registers. Input registers are the ones that are read only; holding registers are read/write.

v1.0.0

18 Aug 18:31
39f12b7

Choose a tag to compare

Added

  • Added functions to read coils
  • Added functions to write single and multiple coils
  • Added functions to read discrete inputs
  • Added functions to read holding and input registers without requiring the command type as input
  • Added functions to read coils, discrete inputs, holding, and input registers into a user buffer
  • Added code spell configuration

Fixed

  • Fixed spelling errors

v0.7.3: Fix printFrameHex() for debugging; new and updated examples

17 Sep 19:49

Choose a tag to compare

DOI

The SensorModbusMaster library is designed to use an Arduino as a Modbus master to communicate with a sensor/slave via the Modbus RTU communication protocol.

Changed

  • Update readWriteRegister.ino example to work again with the AltSoftSerial library.

Added

  • Add a new getSetAddress.ino example #30

Fixed

  • Fix printFrameHex() that was broken with v0.7.0 #29

Full Changelog: v0.7.1...v0.7.3

v0.7.1

25 Jun 17:08

Choose a tag to compare

Changed

  • Update examples to apply to more processors
  • Implement testing of more processors
  • Set the platforms/architectures supported list to "*" (all)

v0.7.0

09 Jun 01:11

Choose a tag to compare

Changed

  • Applied clang format to source and examples.
  • Moved the scanRegisters example from the utils to the examples folder.
  • Updated Arduino library keywords file.
  • Changed the debugging functionality to not require a define.

Added

  • Added Doxygen documentation comments.
  • Created a documentation page using Doxygen.
  • Added CI checks with Github actions using reusable workflows.

Removed

  • Removed build files and documentation for custom RS-485 boards.
    This information can now be found in its own repository.

v0.6.7: Fix debugStream null pointer

23 Dec 21:01

Choose a tag to compare

DOI

Fix by @neilh11 for a null pointer in the debugging causing crashes and other "undefined behavior."

v0.6.5: Fixed attoseconds and extra compiler warnings

29 Aug 19:01

Choose a tag to compare

DOI

Fixed attoseconds for TAI64NA time formats.

Also fixed compiler warnings when compiling with stricter -Wextra flag.