| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251 | 
							- Change history for QextSerialPort (formerly QwSerialPort):
 - (Lines beginning with + represent new functionality, * represent changed or
 - fixed functionality, - represent removed or deprecated functionality)
 - 
 - Version 1.2 beta1 (2012 Debao Zhang)
 -   * D-pointer and Q_PRIVATE_SLOT are used to moving private members from QextSerialPort to QextSerialPortPrivate
 -   * qdoc3 instead of doxygen is used for generating documents
 -   * MIT license header add to all sources files
 -   + add a helper class QextWinEventNotifier for windows user, when user's SDK doesnot contain Qt's private files, this class will be auto selected.
 -   + Support platform custom baudrate. Macros such as B230400 / B460800 can be used directly if you OS support it. 
 - 
 - Version 1.2win-alpha (2007 Michal Policht)
 -   + Added QextSerialEnumerator pre-alpha. Works under W2k and later versions of Windows.
 -   + Event driven mechanism (alternative to polling) is now available on Windows.
 -   - Removed default (=0) parameter from open() functions.
 -   * Fixed bug #1714917 in Win_QextSerialPort::close() method (by Kurt).
 -   * Fixed problem with lack of proper blocking in readData() on win32 (by Brandon Fosdick).
 -   * Removed QT_THREAD_SUPPORT option. Now QextSerialPort must be always compiled with threads support.
 -   * Mutexes are not static.
 -   * setTimeout() now accepts only one parameter.
 -   * bytesAvailable() on POSIX now shows 0 bytes instead of -1 when no bytes are available.
 -   * bytesAvailable() is const.
 -   * native POSIX file descriptors instead of QFile->handle() calls
 -   + POSIX: Save and restore original termios when opening and closing the device
 -   * POSIX: Only disable special characters on systems that support it
 -   * POSIX: Use cfmakeraw(3) to get a non-canonical termios
 -   + POSIX: Call close(2) in close() to actually close the device
 - 
 - Version 1.1 (official release)
 - 
 - Version 1.0.1
 -   * Minor changes (mostly in test application)
 - 
 - Version 1.0.0e (by Micha? Policht)
 -   * Fixed bytesAvailable(). Includes buffered bytes to the result.
 -   + Added isSequential() method.
 -   + Provided test application
 - 
 - Version 1.0.0d ( changes by Micha? Policht )
 -   - Removed isOpen() overriden declaration/implementation from qextserialport's classes. isOpen() relies on QIODevice now.
 -   - Removed bool portOpen variable. Replaced by internal QIODevice.openMode.
 -   - Removed getChar(), putChar() overriden declaration/implementation. QIODevice can handle this.
 -   * Calling open() with specified OpenMode invokes QIODevice::open() which result in proper openMode setting.
 -   * readData(), writeData() are protected as in QIODevice declaration.
 -   * QIODevice:: read() and write() function are working now (use them instead of readData() writeData()).
 -   * readData(), writeData() don't check if port is open any more (read() and write() assures that). The same behaviour can be found in QFile for example.
 -   * Fixed readLine().
 - 
 -   * Fixed randomly crash on deletion bug on Windows ( by Stuart Nixon )
 -   http://lists.trolltech.com/qt-interest/2007-02/thread00340-0.html#msg00351
 - 
 - Version 0.9 (March 3, 2005) Stefan Sander <stefan-sander@users.sf.net>:
 -   + Added a new precompiler constant, _TTY_FREEBSD_
 -     to support FreeBSD port names.
 -   + Added _TTY_WIN_ constant in qextserialport.pro win32:DEFINES
 -     to have Windows port names as default when compiling on it.
 -   - Removed construct() call from QextSerialBase constructors,
 -     it is called indirectly through Win_QextSerialPort::construct()
 -     and Posix_QextSerialPort::construct().
 -   + Added construct() call to Win_QextSerialPort constructors.
 -   + Added setTimeout(0, 500) call to Win_QextSerialPort::construct().
 -   - Removed setTimeout(0, 500) call from Win_QextSerialPort(const char* name).
 -   * Fixed Posix_QextSerialPort::open(int) control flow, now the port settings
 -     are only applied if the associated file could be opened.
 -   * Fixed masking CR to NL, in Posix_CommConfig.c_iflag 
 - 
 - Version 0.8 (, 2003) (Alpha release):
 -   * Added code to set the port timeouts in Win_QextSerialPort's default 
 -     constructor.
 -   * Fixed Posix_QextSerialPort::construct() to set up the port correctly.
 -   * Fixed syntax errors in 2 ioctl() calls in posix_QextSerialPort.
 -   * lastError is now initialized to E_NO_ERROR in the QextSerialBase 
 -     constructor.    
 -   * The select() call in posix_QextSerialPort::bytesWaiting() is now 
 -     properly coded.  Previously it would always time out.
 -   * Fixed runtime errors in the ioctl() calls for 
 -     Posix_QextSerialPort::setDtr() and Posix_QextSerialPort::setRts().
 -     Thanks to Marc Pignat.
 -     
 - Version 0.7 (June 15, 2002) <Bugfix release>:
 -   (0.61 - unofficial release)
 -   * Fixed a small bug in the initializations of the static members when 
 -     QT_THREAD_SUPPORT was defined.
 -   * Fixed a  bug that caused Borland's compiler to choke on Windows platforms
 -     (which perversely actually stemmed from a shortcoming of Visual C++ that 
 -     Borland doesn't have).
 -     
 -   (0.62 - unofficial release)
 -   * Fixed a bug that gave Q_LONG the wrong typedef for QT versions prior to 
 -     3.0. 
 -     
 -   (0.63 - unofficial release)       
 -   * Fixed 2 incorrect references to Posix_Comm_Config.
 -   * Fixed scoping of Posix_QextSerialPort::operator=().
 -   * Posix_QextSerialPort::construct should now be coded correctly.
 -   * Fixed return type for Posix_QextSerialPort::size().
 -   
 -   (0.64 - unofficial release)
 -   * Fixed all the port settings functions to work properly when opening the 
 -     port for the first time - previously none of the settings were being 
 -     applied when the port was opened.
 -   * Fixed an oversight in Win_QextSerialPort::open() that caused the setting
 -     of port parameters to fail on NT and 2000 systems.
 -     
 -   (0.7 - official release)
 -   * Fixed some calls to QextSerialBase constructors that no longer exist on 
 -     the POSIX side.
 -   * Fixed the bad memcpy()'s in the POSIX copy constructor.
 -   * Fixed the Offset scoping problem under gcc 2.95.
 -   * The CBAUD flag has been deprecated on some POSIX systems.  Fixed 
 -     Posix_QextSerialPort::setBaudRate() to reflect this.
 -   * Added construct() calls to all of the Posix_QextSerialPort constructors.
 -   * Fixed double (and conflicting) typedefs of Offset when using QT versions 
 -     prior to 3.0
 -   * Changed the call to CreateFile() to CreateFileA() in 
 -     Win_QextSerialPort.cpp.  This should get rid of problems for those using
 -     Unicode or other multibyte character sets for their string literals.
 -   * A few tweaks to the documentation.
 -     
 -   - Removed the protected Posix_Handle variable from Posix_QextSerialPort.
 -   
 - Version 0.6 (March 11, 2002) <Bugfix release>:
 -   + Added a new precompiler constant, QTVER_PRE_30.  QT3 changed the return
 -     types of some QIODevice functions. Therefore, if compiling on versions
 -     of QT prior to 3.0, you should always define QTVER_PRE_30 in your project.
 -     Also had to add some preprocessor blocks to support both 3.0 and earlier 
 -     versions of QT.
 -   + Added implementations of 2 of the new constructors added in 0.5 to both 
 -     Win_QextSerialPort and Posix_QextSerialPort.
 - 
 -   * The scoping of the enums used in the PortSettings struct has been fixed.
 -   * QObject inheritance has been removed.  This should not affect the 
 -     functionality of the classes.
 -   * Replaced a few stray references to mutex->unlock() with UNLOCK_MUTEX() in 
 -     the Windows code.
 -   * Fixed several runtime errors caused by calling nonexistent members of 
 -     QextSerialBase.
 -   * Fixed a whole bunch of little things that were causing MSVC to choke when
 -     compiling for Windows.
 - 
 - Version 0.5 (February 15, 2002):
 -   + There are 4 new macros (LOCK_MUTEX, UNLOCK_MUTEX, TTY_WARNING, and 
 -     TTY_PORTABILITY_WARNING) that replace most of those ugly #ifdef blocks in
 -     the code.  
 -   + In place of the old namingConvention stuff, there is a new function, 
 -     setName().  It is used to set the name of the device to be associated with
 -     the object.  The new name() function can be used to retrieve the device 
 -     name, which is stored in the new member variable portName.
 -   + There is a new version of open() that takes a const char* as a parameter.
 -     It can be used to specify the name of the device when it is opened rather
 -     than at construction time.
 - 
 -   * 3 constructors have been removed and 3 more added.  There is now a copy
 -     constructor (and operator=()) as well as a constructor that takes a
 -     PortSettings structure as a parameter, and another that takes both a
 -     device name and a PortSettings structure.  As a result of these changes
 -     the PortSettings structure declaration is no longer local to the
 -     QextSerialBase class.  All of the removed constructors had to do with
 -     the setNamingConvention() system.
 -   * The static mutex member should now be reference-counted and only deleted 
 -     when it is no longer referenced.  
 -   * Most of the object construction duties have been pushed back into
 -     QextSerialBase
 -   * Fixed a couple resource leaks, mostly to do with unlocking the mutex
 -     properly
 - 
 -   - Removed the setNamingConvention() nonsense.  
 -   - Removed all QStrings and calls to sprintf() for thread compatibility.
 -   - Removed setNumber() functions as well as the portNumber member variable,
 -     as they were only necessary under the setNamingConvention() system.
 - 
 -   I am grateful to Jorg Preiss (Preisz?  Sorry, American keyboards don't have
 -   an ess-tset character ;)) for his invaluable input on most of the changes
 -   that went into this version.
 - 
 - Version 0.4 (March 20, 2001):
 -   + All of the classes now derive from QObject as well as QIODevice.  This
 -     is pretty much useless at the moment - signals and slots may be used
 -     to implement asynchronous communications in a future version
 -   + Added configurable timeouts via the setTimeout() function.  The default
 -     timeout for read and write operations is now 500 milliseconds
 -   + There is now a functional .pro file for the library (thanks to
 -     Gunnstein Lye)
 -   + The prefixes for all of the classes have changed from Qw to Qext, in
 -     compliance with the qt-addons project standard
 - 
 -   * Fixed a bug that caused port settings to be restored incorrectly when
 -     switching ports with setNumber()
 -   * Minor changes to QextSerialBase::setNumber().  Functionality should now
 -     reflect the documentation, which has also been updated to reflect the
 -     changes that went in on version 0.3.
 -   * Some fixes to the documentation.  The Posix_QextSerialPort and
 -     Win_QextSerialPort classes should no longer have any unnecessary
 -     references to inapplicable platforms, and the documentation for open() has
 -     been updated.
 -   * Should now compile without QT_THREAD_SUPPORT defined (ie, in single-
 -     threaded environments), although it will require slight changes to the
 -     makefile (tmake "CONFIG-=thread" should work)
 -   * Fixed a few compilation issues, especially on the POSIX side (should
 -     compile under Linux now :))
 -   * POSIX code is a little cleaner and more efficient
 -   * Various small fixes to the documentation
 -   * Constants now follow a consistent naming convention, with underscores at
 -     the beginning and end of each.  For example TTY_POSIX has become
 -     _TTY_POSIX_
 -     
 - Version 0.3 (Feb. 14, 2001):
 -   + Added a warning that appears when QwSerialPort is compiled on a POSIX
 -     platform that does not implement 76800 baud operation.  In this situation
 -     QwSerialPort will also switch to 57600 baud.
 -   + Major code reorganization - there are now 4 classes instead of 1.  This
 -     should remove a lot of the #ifdef...#else...#endif constructs and
 -     hopefully make the code easier to read.  Including the class in your
 -     project is still done by including QwSerialPort.h and instantiating a
 -     QwSerialPort object.
 - 
 -   * The serial port associated with a QwSerialPort object is no longer
 -     opened on construction, or upon calling the setNumber() function.  You
 -     must now explicitly call open() to open the port.
 - 
 - Version 0.2 (Jan. 3, 2001):
 -   + Added lastError() function with rudimentary error codes
 -   + Better documentation
 -   + Added ability to examine the empty/not empty state of a port's input
 -     buffer with atEnd()
 -   + Added ability to retrieve the number of bytes in a port's input buffer
 -     with size() (thanks to Olivier Tubach)
 -   + Added ability to turn off portability warnings by defining
 -     TTY_NOWARN_PORT in your project
 -   + Added ability to turn off all warning messages by defining TTY_NOWARN
 -     in your project
 -   + Added ability to select POSIX serial functions in Windows NT/2000 by
 -     defining TTY_POSIX in your project (untested)
 -   + Added control over RTS and DTR lines with setRts() and setDtr()
 -     respectively
 -   + Added ability to query line status using lineStatus().
 -   + Added readLine() functionality (thanks to Olivier Tubach)
 -   + Added bytesWaiting(), a non-const/thread-safe version of size()
 -   + The class should now be thread-safe through the use of a recursive
 -     QMutex (untested)
 - 
 -   * Fixed a bug that could cause hardware flow control not to work on some
 -     POSIX systems
 -   * Put in a few missing fileno() calls in the POSIX code
 -   * Fixed a few syntax errors that caused compilation to fail on POSIX systems
 - 
 -   - BAUD0 is no longer a valid baud rate setting - to drop the DTR line,
 -     call setDtr(FALSE)
 - 
 - Version 0.1 (Dec. 11, 2000):
 -   Initial public release.
 
 
  |