2004-05-25  Henrik W Maier  <henrik@focus-sw.com>

        * MbusMasterCwraper.cpp|h: Added C wrapper to static library and DLL
        * make.mbusmaster, MBUSMASTER.MK: Added C stub MbusMasterCwraper
        * MbusRtuMasterProtocol.cpp, MbusAsciiMasterProtocol.cpp:
        In case of send time-out the FTALK_SEND_TIMEOUT_ERROR error code
        is returned (was FTALK_REPLY_TIMEOUT_ERROR before)

2004-02-15  Henrik W Maier  <henrik@focus-sw.com>

        * MbusRtuMasterProtocol.cpp, MbusAsciiMasterProtocol.cpp,
        MbusMasterFunctions.cpp: No reply in case of broadcast.

        * MbusDataTableInterface.hpp: Added validateMasterIpAddr method.

	* MbusTcpSlaveProtocol.cpp: Allow 0 as slave address. Added
        code to check a master's IP address and either accept or reject it.

        * MbusSlaveServer.cpp: Allow 0 as slave address (for TCP),
        fixed broadcast bug (broadcasts where not processed). A value of -1
        as slave address makes server disregard the address at all.

2004-01-24  Henrik W Maier  <henrik@focus-sw.com>

	* Most header files: Classes exposed as Win32 dllexport

        * MBUSMASTER.MK: Added DLL support

        * MBUSSLAVE.MK: Added DLL support

2003-12-19  Henrik W Maier  <henrik@focus-sw.com>

        * MbusTcpMasterProtocol.cpp|hpp: Added new function
        adamSendReceiveAsciiCmd to support ADAM 5000/6000 ASCII commands.

2003-12-04  Henrik W Maier  <henrik@focus-sw.com>

        * MbusAsciiSlaveProtocol.cpp: Changed bool types to int. This prevented
        compilation on old C++ compilers like Watcom C++ 10.6 which don't
        support bool.

2003-10-25  Henrik W Maier  <henrik@focus-sw.com>

	* mbusmaster.mk, mbusmaster.mk: Added /QIfist flag to avoid
        generation of the ftol2 function with VC++ 7.00 which is not
        available in VC++6.00. Hence the library would not link against
        VC++ 6.00 code without recompilation.

2003-10-23  Henrik W Maier  <henrik@focus-sw.com>

	* platform: Support for SCO/Openserver added

2003-10-01  Henrik W Maier  <henrik@focus-sw.com>

	* platform: Added entry for FreeBSD, NetBSD and OpenBSD

2003-09-25  Henrik W Maier  <henrik@focus-sw.com>

        * MbusRtuOverTcpMasterProtocol.cpp|hpp: Added new protocol flavour.

        * MbusTcpMasterProtocol.hpp: Changed access rights to support
          inheritance for MbusRtuOverTcpMasterProtocol.

2003-09-20  Henrik W Maier  <henrik@focus-sw.com>

        * MbusAsciiMasterProtocol.cpp|hpp: CR/LF chars where not read from
        input buffer which caused a INVALID_FRAME_ERROR on WIN32 platform
        when master was continuously polling. Caused by the fact that the LF char
        was not flushed from buffer quick enough.

2003-09-16  Henrik W Maier  <henrik@focus-sw.com>

        * BusProtocolErrors.c, BusProtocolErrors.h:
        FTALK_SEND_TIMEOUT_ERROR added.

        * MbusSlaveServer.hpp: isStarted added.

        * MbusTcpSlaveProtocol.cpp: startupServer checks now if
        already started.

        * MbusSerialSlaveProtocol.cpp|hpp: RS485 mode added.

        * MbusRtuSlaveProtocol.cpp|hpp: Ssend timeout error code changed
        to FTALK_SEND_TIMEOUT_ERROR, Debug printfs replaced with
        TRACELOG macros, RS485 mode added. Fixed checksum bug introduced in
        v2.0 which rendered slave RTU broken.

        * MbusAsciiSlaveProtocol.cpp|hpp, MbusAsciiSlaveProtocol.hpp: Added.

2003-09-10  Henrik W Maier  <henrik@focus-sw.com>

	* MbusTcpMasterProtocol.cpp and MbusSerialMasterProtocol.cpp,
        BusProtocolErrors.c|h, FieldTalkVersion.h, etc:
        Added support for evaluation version.

	* Reviewed the build scripts. Fixed platform detection for QNX 6.
        Changed mechanism how to pass parameters and options.

2003-09-04  Henrik W Maier  <henrik@focus-sw.com>

	* MbusTcpMasterProtocol.cpp: The EINPROGRESS check introduced
        earlier did brake the connection mechanism on Linux and. Fixed.

2003-07-15  Henrik W Maier  <henrik@focus-sw.com>

	* MbusTcpMasterProtocol.cpp: connect checks also against EINPROGRESS.
        Solved connect bug on Solaris.

2003-06-16  Henrik W Maier  <henrik@focus-sw.com>

	* Redesigned the build process. New make sripts and makefiles
        introduced.

2003-05-19  Henrik W Maier  <henrik@focus-sw.com>

	* MbusTcpSlaveProtocol.cpp, MbusTcpSlaveProtocol.hpp: Overloaded
        startupServer to allow for multihomed servers

2003-02-25  Henrik W Maier  <henrik@focus-sw.com>

	* MbusMasterCstubs.cpp: Created.

	* MbusMasterFunctions.cpp, MbusMasterFunctions.hpp:
	configureLittleEndianInts() and configureIeeeFloats() introduced.

2003-02-21  Henrik W Maier  <henrik@focus-sw.com>

	* MbusTcpMasterProtocol.cpp: Tolerate a zero address field in an
	exception reply.

2003-02-01 Henrik W Maier  <henrik@focus-sw.com>
	
	* MbusMasterFunctions.cpp: Reply validation modified. This fixes
	problems to write single values to Quantum PLCs.

	* MbusSerialMasterProtocol.cpp, MbusSerialMasterProtocol.hpp,
	MbusRtuMasterProtocol.cpp, MbusAsciiMasterProtocol.cpp: Added
	RS485 mode.

	* MbusRtuMasterProtocol.cpp, MbusRtuSlaveProtocol.cpp: Added start
	value parameter to calcCrc16 function call.

2002-12-09  Henrik W Maier  <henrik@focus-sw.com>

	* MbusTcpMasterProtocol.cpp, MbusTcpSlaveProtocol.cpp: VxWorks
	support added.

	* version.h: Replaced with FieldTalkVersion.h

	* FieldTalkVersion.h: Created
	
2002-12-06  Henrik W Maier  <henrik@focus-sw.com>

	* BusProtocolErrors.h|.c: Changed text for FTALK_PORT_NO_ACCESS to
	incorporate also serial ports.

2002-12-03  Henrik W Maier  <henrik@focus-sw.com>

	* MbusTcpMasterProtocol.cpp: Fixed auto-retry mechanism.

2002-11-19  Henrik W Maier  <henrik@focus-sw.com>

	* MbusSerialMasterProtocol.cpp: Fixed auto-retry mechanism.
	
	* MbusMasterFunctions.cpp: Fixed swap32BitWords swapping only one
	32-bit value.
	
2002-11-13  Henrik W Maier  <henrik@focus-sw.com>

	* MbusMaster*.*: Introduced unified method names for opening and
	closing. Renamed closeConnection and closePort methods to
	closeProtocol. Renamed openConnection and openPort to
	openProtocol.

	* MbusMasterFunctions.cpp: Fixed various bugs for 32-bit data
	type writes. Write functions never worked properly.

	* MbusRtuMasterProtocol.cpp, MbusAsciiMasterProtocol.cpp: Fixed
	zero data message problem in RTU and ASCII protocols
	(caused readExceptionStatus to fail with I/O error)

	* MbusSlaverServer.cpp: Fixed bug in function 15 and 16 which
	caused corrupted values to be written into the data area. Start
	registers >= 0x8000 did not work.

2002-11-12  Henrik W Maier  <henrik@focus-sw.com>

	* Released as v1.2.2beta

2002-11-06  Henrik W Maier  <henrik@focus-sw.com>

	* MbusMasterFunctions.cpp, MbusMasterFunctions.hpp: Fixed bug
	which caused recursive calls in writeMultipleRegisters methods for
	32-bit types.  writeMultipleRegisters and readMultipleRegisters
	methods for 32 bit tpes renamed to read/write
	multipleFloats/LongInts.  Module 10000 data type introduced.
	
	* BusProtocolErrors.c: File added, getBusProtocolErrorText
	function introduced.
	
	* BusProtocolErrors.h: Error texts added,

2002-10-30  Henrik W Maier  <henrik@focus-sw.com>
	
	* MbusTcpMasterProtocol.cpp: In case of a broken socket
	connection, the more appropriate FTALK_CONNECTION_WAS_CLOSED error
	code is returned instead of the meaningless FTALK_IO_ERROR code.

	* MbusMasterFunctions.cpp, MbusMasterFunctions.hpp: deliverMessage()
	now declared as an abstract function to avoids compiler warnings.

	* MbusSerialMasterProtocol.cpp, MbusSerialMasterProtocol.cpp:
	transceiveMessage() now declared as an abstract function to avoids
	compiler warnings.

	* MbusTcpMasterProtocol.cpp, MbusSerialMasterProtocol.cpp:
	while(1) changed to for(;;) to avoid compiler warning.
	
2002-07-18  Henrik W Maier  <henrik@focus-sw.com>
	
	* Released as v1.2

	- Restructured source code directory to allow easier deployment of
	source code for multiple platforms.

	- Introduced seperate makefiles for each platform
	
	- hmserio.cpp: Divided up single multi-platform source file into
	seperate files for each platform. Unix versions of hmserio are now
	using the new Timer class for time-out supervision.

	- MbusRtuMasterProtocol.cpp/hpp: Usage of new Timer class for
	timing supervision. Changed method of bus silence detection.

	- MbusAsciiMasterProtocol.cpp/hpp: Usage of new Timer class for
	poll delay control.

	- MbusTcpMasterProtocol.cpp/hpp: Usage of new Timer class for poll
	delay control.

	- hmtimer.cpp/hpp: Introduced new hmtimer module which replaces the
	problematic hmtime module.
	
	- hmtime had issues with integer overruns because it used a only a
	32-bit long for dealing with millisecond time intervals. Module
	has been replaced by hmtimer. This fixed a bug in the time-out
	monitoring.

2002-03-03  Henrik W Maier  <hwmaier@focus-sw.com>
	
	* First release as v1.1
