123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329 |
- 2013-10-17 (REL_1_6_0) Armink <armink.ztl@gmail.com>
- Notes: Added modbus master.
- 2010-05-06 (REL_1_5_0) Christian Walter <cwalter@embedded-solutions.at>
- Notes: Added support for Atmel AT91SAM3S (Cortex M3) for IAR.
- Detailed notes:
- - FEATURES (ATSAM3S) : Added new port.
- 2007-08-28 (REL_1_4_0) Christian Walter <wolti@sil.at>:
- Notes: Added support for HCS08. Fixed some small bugs in the documentation
- for the porting layer.
- Detailed notes:
- - FEATURES (HCS08) : Added new port.
- - BUGS (ALL) : Fixed some small bugs in the porting guide.
- 2007-07-17 (REL_1_3_0) Christian Walter <wolti@sil.at>:
- Notes: Added ARM7/AT91SAM7X port. Added Linux/TCP port from Steven Guo.
- Detailed notes:
- - FEATURES (ARM7): Added ARM7/AT91SAM7x port.
- - FEATURES (LINUX): Added Linux/TCP port from Steven Guo.
- - BUGS (ALL): Fixed bug in <eMBFuncReadInputRegister> where the high
- byte of the register count was ignored. This does not have a
- practical impact because the actual number of registers is always
- lower.
- 2007-07-17 (REL_1_3_0) Christian Walter <wolti@sil.at>:
- Notes: Added Linux/TCP port. Fixed bug in MSP430 port.
- Detailted notes:
- - FEATURE (LINUX): Added Linux/TCP port.
- - BUGS (MSP430): Fixed bug with calculating the timer value.
- 2007-04-25 (REL_1_2_0) Christian Walter <wolti@sil.at>:
- Notes: Added LPC214X ARM port with Keil compiler. Added Z8Encore port for
- Z8F6422 microcontroller.
- Detailed notes:
- - FEATURE (ARM): Added LPC214X ARM port for Keil ARM 2.41.
- - FEATURE (Z8ENCORE): Added Z8F6422 for Z8Encore using the ZDS II - Z8
- Encore! development tools.
- 2007-02-18 (REL_1_1_2) Christian Walter <wolti@sil.at>:
- Notes: Fixed typo with the defined defining the supported Modbus
- functions. Fixed bug when illegal slave address was passed to eMBInit
- where the error was not detected. Fixed typo in the holding registers
- where the frame for write multiple registers was parsed with the wrong
- constants. The fix is not critical because the values matched. Fixed bug
- in discrete input registers implementation where the frame was not parsed
- correctly. Added new support for a CodeWarrior Coldfire port.
- Detailed notes:
- - BUG (ALL): Modbus functions are compiled into the stack conditionally
- by changing the MB_FUNC_XXX defines to either true(1) or false(0).
- The defines for MB_FUNC_READ_HOLDING and MB_FUNC_WRITE_HOLDING
- were wrong.
- - BUG (ALL): eMBInit did not correctly check for addresses. Therefore
- is was possible to start the Modbus stack with an address of 0
- or one > 247.
- - BUG (ALL): eMBFuncWriteHoldingRegister should use
- MB_PDU_FUNC_WRITE_MUL_ADDR_OFF and not MB_PDU_FUNC_READ_ADDR_OFF.
- - BUG (ALL): eMBFuncReadDiscreteInputs calculated the number of discrete
- registers to read wrong.
- - FEATURE (ALL): Fixed some warnings in the code.
- 2006-11-19 (REL_1_1_1) Christian Walter <wolti@sil.at>:
- Notes: Fixed bug in Read/Write Multiple Registers function where
- the registers addresses where calculated wrong.
- Fixed bug in RTU and ASCII with the resource allocation in case of
- an error.
- Changed license to BSD style licsense.
- Detailed notes:
- - OTHER (ALL): License is now BSD for protocol stack.
- - BUG (ALL): The registers address received in a Modbus frame
- must be converted to application addresses. The code for this
- conversion was missing and therefore has lead to error when
- this function was used (Registers of by one, Start at > 1).
- - BUG (ALL): If the serial initialization within the porting fails
- a timer is still allocated in eMBRTUInit and eMBASCIIInit. This
- can lead to a memory leak depending upon the implementation of the
- porting layer.
- - FEATURE (MCF5235): Added sample shell scripts for testing.
- - FEATURE (MSP430): Added sample shell script for testing and
- changed default values to match the other ports.
- 2006-10-30 (REL_1_1_0) Christian Walter <wolti@sil.at>:
- Notes: Added support for Read/Write Multiple Registers function
- (0x17). Added some tips to reduce memory requirements.
- Added MSP430 Port for GCC and Rowley Crossworks.
- Detailed notes:
- - FEATURE (MSP430): Added new MSP430 port.
- - FEATURE (ALL): Added support for Read/Write Multiple Registers
- function (0x17). The implementation simply makes two callbacks
- to the eMBRegHoldingCB function where first the values are
- written and then the other register values are read.
- - FEATURE (ALL): Added some tips on reducing memory requirements
- with the protocol stack.
- 2006-10-30 (REL_1_0_5) Christian Walter <wolti@sil.at>:
- Notes: eMBDisable and eMBClose can now be called multiple times
- which makes shutdown of the protocol stack easier.
- Fixed bug in RTU state machine where we switched from the
- error state immediately to the idle state. Correct behaviour
- would be to wait till the end of frame.
- Added new STR71X GCC port which uses only freely available tools
- like GNU ARM, OpenOCD (Wiggler) and GDB.
- Detailed notes:
- - FEATURE (STR71X): Added GCC standalone port which does not
- depend on the Rowley Crosswork tools.
- - FEATURE (ALL): eMBDisable can now be called multiple times
- and returns MB_ENOERR in case is was already disabled.
- eMBClose also supports beeing called multiple times in
- which pvMBFrameCloseCur( ) is called when the protocol stack
- is in state STATE_DISABLED.
- - BUG (RTU): Fixed bug in xMBRTUReceiveFSM where the error
- state is immediately left because of a missing break. Instead
- we should wait till the damaged frame is finished.
- 2006-10-11 (REL_1_0_4) Christian Walter <wolti@sil.at>:
- Notes: Fixed bug when more than 255 coils are requested. Fixed bug in
- Linux/Cygwin port when not all bytes could be written by the first
- call to write. Added support for removing previously registered
- function handlers.
-
- Detailed notes:
- - BUG (ALL): mbfunccoils contained a bug which limited the amount
- of coils to read to 255.
- - BUG (LINUX): prvbMBPortSerialWrite contained a bug in the loop
- which writes the RTU/ASCII frame to the serial file descriptor.
- If not all bytes where written in the first call or write was
- interrupted the sent frame is corrupted.
- - FEATURE (ALL): eMBRegisterCB now supports NULL as handler
- argument in which case a previously registered function
- handler is deregistered from the protocol stack.
- 2006-09-27 (REL_1_0_3) Christian Walter <wolti@sil.at>:
- Notes: Added new functions to support registering of custom callback
- handlers. This makes it possible to implement new Modbus function
- codes without touching the protocol stack.
- New port for ATMega128 added. Thanks to Richard C Sandoz Jr. for
- the patches.
- Detailed notes:
- - FEATURE (ALL): Added support for registering new functions handlers
- with eMBRegisterCB.
- - FEATURE (AVR): Added patches from Richard C Sandoz Jr. for ATMega128
- 2006-09-06 (REL_1_0_2) Christian Walter <wolti@sil.at>:
- Notes: Fixed bug in FreeRTOS porting layer for STR71X/lwIP target where
- memory is not freed in the sys_arch_thread_remove function.
- Synched MCF5235TCP port with the FreeRTOS/lwIP port for the STR71X.
- Detailed notes:
- - BUG (STR71XTCP): Sys_arch_thread_remove did not free the memory from
- the TCB.
- - BUG (STR71XTCP): Unnecessary call to vTaskSuspendAll removed.
- - BUG (STR71XTCP): Bug with counting variable. The first to lwIP tasks
- got the same name (lwIP0).
- - FEATURE (MCF5235TCP): Enhanced functions from the STR71X/lwIP port
- merged into the Coldfire port.
- 2006-09-04 (REL_1_0_1) Christian Walter <wolti@sil.at>:
- Notes: Fixed bug in serial driver for STR71x target when the ring buffer
- overflows.
- Detailed notes:
- - BUG (STR71XTCP): Under high load the ring buffer in the serial driver
- functions might overflow. There was an error with counting the number
- of received characters which corrupted received frames.
- Now receiver correctly recovers in case of dropped bytes.
- 2006-09-04 (REL_1_0) Christian Walter <wolti@sil.at>:
- Notes: Added support for ATmega8, ATmega16, ATmega32, ATmega169 and
- RS485 drivers in the AVR support. Special thanks to Tran Minh Hoang
- for his contribution.
- Added a new lwIP port for the STR71X target which uses one serial
- interface for a PPP connection. This can be used for remote Modbus/TCP
- devices in combination with a Modem (E.g. GPRS or Analog).
- Detailed notes:
- - FEATURES (AVR): Integrated patches from Tran Minh Hoang to support the
- ATmega8, ATmega16, ATmega32, ATmega169 controllers.
- - FEATURES (AVR): Added support for RS485 drivers in the AVR code. The
- example supports the DS76176.
- - FEATURES (STR71XTCP): implemented function in STR71X/lwIP porting layer
- to remove running tasks.
- - FEATURES (STR71XTCP): added new thread creation function in STR71X/lwIP
- porting layer which allows specifing the stack size.
- - BUGS (STR71XTCP): pppOpen defined in ppp.c does not check the return
- value of sys_thread_new. If task creation fails the system crashes.
- - BUGS (STR71XTCP): pppMain must not return - Instead it should remove
- its task from the scheduler.
- 2006-08-30 (REL_9) Christian Walter <wolti@sil.at>:
- Notes: Added lwIP port for the MCF5235 target. The lwIP part is
- generic and therefore FreeModbus now works on any target with
- lwIP support.
-
- Detailed notes:
- - FEATURES: Incoperated MCF5235 FreeRTOS/lwIP port done by the
- author in this project.
- - FEATURES: Added lwIP port for FreeModbus
- - FEATURES: Added demo application for FreeModbus and lwIP.
- 2006-08-22 (REL_0_82) Christian Walter <wolti@sil.at>
- Notes: Fixed bug with Modbus ASCII support
- Detailed notes:
- - BUG: During the last upgrade an error was introduced in the
- initialization code of Modbus ASCII and therefore ASCII
- support was broken. The bug is fixed now and was tested with
- the Win32 port.
- 2006-08-22 (REL_0_81) Christian Walter <wolti@sil.at>
- Notes: Added porting guide
- Detailed notes:
- - OTHER: Added a new porting guide to the documentation.
- - OTHER: Added a empty example for new ports to the project as a
- starting point.
- 2006-08-01 (REL_0_8) Christian Walter <wolti@sil.at>
- Notes: Added Linux RTU/ASCII port.
- Detailed notes:
- - FEATURES: Added a new Linux RTU/ASCII port. The port should work
- on any Linux distribution and it should be possible to run it
- on uCLinux.
- 2006-06-26 (REL_0_7) Christian Walter <wolti@sil.at>
- Notes: Changed the WIN32 serial port to better fit into the design.
-
- Detailed notes:
- - OTHER: Design of the WIN32 serial port changed. The polling function
- for the serial device are now called from the event loop.
- - OTHER: Debugging uses the same interface as the WIN32/TCP port.
- 2006-06-25 Christian Walter <wolti@sil.at>
- Notes: Initial work on a Modbus/TCP port is available. The port includes
- an example for a Win32 port which uses the Winsock API.
-
- Detailed notes:
- - FEATURES: added required functions to core protocol stack to support
- a Modbus/TCP implementation.
- - FEATURES: added a Win32 port for the Modbus/TCP core. The port is
- currently limited to one concurrent client.
- - OTHER: The implementation of eMBClose to shutdown the protocol stack
- was changed to unify it with the new Modbus/TCP code.
- -
- 2006-06-18 Christian Walter <wolti@sil.at>
- Detailed notes:
- - OTHER: while working on the Win32 port some line feeds got
- wrong. Also some source files used tabs instead of spaces.
- - OTHER: prototypes for xMBUtilSetBits and xMBUtilGetBits fixed.
- usNBits should be ucNBits by convention.
- 2006-06-17 Christian Walter <wolti@sil.at>
- Notes: Fixed various bugs with the Win32 port
- Detailed notes:
- - FEATURES: implement shutdown functionality for protocol stack.
- - FEATURES: protocol stack can be enabled and disabled during runtime.
- - FEATURES: interface functions now do more error checking. For
- example if eMBPool is called in an uninitialized state.
- - FEATURES: extended Win32 demo application to use the new features.
- - BUG: fixed bug in Win32 demo for ASCII mode.
- 2006-06-16 Christian Walter <wolti@sil.at>
- Notes: The new version includes a new port for the
- Win32 platform
- Detailed notes:
- - FEATURES: added Win32 platform
- 2006-05-14 Christian Walter <wolti@sil.at>
- Notes: The new version includes a new port for the
- Freescale MCF5235 processor.
- Detailed notes:
- - FEATURES: added new MCF5235 port.
- - OTHER: fixed some missing code headers.
- 2006-05-01 Christian Walter <wolti@sil.at>
- Notes: This version removes the t1.5 timers from the Modbus RTU
- implementation because no one actually uses it and the CPU
- load is very high. T
- In addition some documentation cleanups has been done and the
- ARM demo has been updated.
- Detailed notes:
- - FEATURES: the t1.5 timeout has been removed. Therefore only
- one timer is required.
- - BUG: the ARM demo project missed some files in the project
- workspace and did not compile cleanly
- 2006-02-28 Christian Walter <wolti@sil.at>
- Notes: This version includes support for two new command
- (write multiple coils, read discrete input)
- Detailed notes:
- - BUG: some function used the wrong data types
- - FEATURES: added support for write multiple coils function.
- - FEATURES: added support for read discrete input.
- - OTHER: some code cleanups with lint tool.
- 2006-02-28 Christian Walter <wolti@sil.at>
- Notes: The new version 0.31 adds support for reading and writing the
- coil registers and add some bug fixes.
-
- Detailed notes:
- - BUG: fixed bug with to small modbus requests being ignored.
- - FEATURES: added support for write single coil function.
- - FEATURES: added support for working with byte packed bit fields
- to support coils and discrete inputs better.
- - API: API for set slave id functions changed.
- 2006-02-26 Christian Walter <wolti@sil.at>
- Notes: First public release which includes an ARM and AVR port.
|