You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The biggest and the most important release so far. Majority of the source code has been rewritten from scratch. The library is header-only now, which makes it much easier to compile on different exotic platforms. Although features included in this release break backwards compatibility with v2.0 and require changes to be made in user code, upgrading to v3.0 is highly recommended due to the number of improvements.
Changes:
The library is header-only now. The old build system based on CMake is no longer necessary.
Very significantly reduced binary size (on AVR full v2.0: ~16000b, full v3.0: ~7300b)
Significantly improved code structure, maintainability and performance
Alignment safety no longer relies on compiler attributes (__attribute__((packed)) is 'broken' on XC16 compilers)
Replaced inttypes.h with stdint.h
All register operations are now done through register callback functions.
All data is received with a data callback on master side now.
Added support for Modbus TCP
Added setters/getters for ModbusMaster and ModbusSlave structure members
Added support for custom allocators. This mechanism can be used to replace old LIGHTMODBUS_STATICMEM*
Added a new CMake config which allows liblightmodbus to be used a CMake package
Added a (very) experimental C++ API
Added a ModbusBuffer type for holding and managing allocated frames
Added some debug utilities
Created a separate repository for ESP-IDF component files
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
-
The biggest and the most important release so far. Majority of the source code has been rewritten from scratch. The library is header-only now, which makes it much easier to compile on different exotic platforms. Although features included in this release break backwards compatibility with v2.0 and require changes to be made in user code, upgrading to v3.0 is highly recommended due to the number of improvements.
Changes:
__attribute__((packed))
is 'broken' on XC16 compilers)inttypes.h
withstdint.h
ModbusMaster
andModbusSlave
structure membersLIGHTMODBUS_STATICMEM*
ModbusBuffer
type for holding and managing allocated framesexamine
addonDocs for this release: https://jacajack.github.io/liblightmodbus/index.html
Information about porting code from v2.0 to v3.0: https://jacajack.github.io/liblightmodbus/porting.html
This discussion was created from the release liblightmodbus v3.0.
Beta Was this translation helpful? Give feedback.
All reactions