The Embedded Experts
Release notes for emModbus
Version 1.02h [24. September 2018]
Program corrections
- MB_MASTER_WriteCoils() adds one payload byte too much if a multiple of 8 coils is used. The number of items/coils and their values in the message remain correct. The message might get refused by the slave if it checks the number of items/coils versus the number of payload bytes. Fixed.
Version 1.02g rev. 1 [24. September 2018]
New features
- New Slave Modbus/TCP sample added that demonstrates handling multiple client connections.
Version 1.02g [11. July 2018]
Program corrections
- TCP interface does not reset the channel buffer in an error case (unexpected disconnect) which might lead to the next messages(s) to cause confusion. Fixed.
Version 1.02f [22. May 2018]
New Features
- New API added to allow using unicast slave address 0 with Modbus/TCP:
- MB_SLAVE_ConfigIgnoreSlaveAddr()
Version 1.02e [14. December 2017]
Program corrections
- De-initializing the stack does not call the interface pfDeInit() callback of the channel. Fixed.
Version 1.02d [6. December 2017]
Improvements
- Updated shipped UART samples to fit with latest file changes across several middleware.
Version 1.02c [10. August 2017]
New Features
- New configuration defines to change behavior in some situations:
- MB_ALLOW_STREAM_HDR_UNDERFLOW
- MB_DISCONNECT_ON_MSG_TOO_BIG
Program corrections
- Slave does not send back Modbus error codes for a custom function code. Fixed.
Version 1.02b [14. September 2016]
Program corrections
- Slave answers back on valid broadcast messages but should not. Fixed.
Version 1.02a [22. April 2016]
Improvements
- Added further message checks to the slave to detect faulty messages sent by a master.
Program corrections
- Using Modbus/TCP the message size reported to the custom callback includes the size of the Modbus/TCP header. Fixed.
- The slave channel buffer is not reset on messages that do not send back an answer like a broadcast. Fixed.
Version 1.02 [1. April 2016]
New Features
- New API added for implementation of custom function codes added:
- MB_SLAVE_SetCustomFunctionCodeHandler()
- MB_LoadU16BE()
- MB_StoreU16BE()
Version 1.00b [6. August 2015]
New Features
- Added RTU & ASCII interfaces to PC ports.
Program corrections
- Using different task priorities than provided with samples or using round robin might confuse the message processing. Fixed.
- Using non-native data processing types like stream read/write instead of interrupt driven byte transfer for RTU might confuse the message processing. Fixed.
Version 1.00a [15. June 2015]
New Features
- Non-OS layer added.
Improvements
- Changed Windows samples to use fgets() instead of _cgets() as Keyboard inputs do not work reliable with _cgets() on newer compilers.
Program corrections
- The wrong timer frequency is used for calculation if MB_ConfigTimerFreq() has not been called. Fixed to default of 1kHz.
- RTU interface might corrupt data on CPUs if data in structures is not padded to a multiple of 4 bytes. Fixed.