source: projects/punch-card/punch-card-editor/src/libs/qextserialport/CHANGES @ 53

Last change on this file since 53 was 53, checked in by sven, 14 years ago

Punch Card Editor, ongoing development

  • Extended new Deck interface, expanding the undo framework
  • Implemented editor changes via undo framework
  • revised the menu and toolbar actions and structure (now dynamic construction at deck load time), implemented undo viewer
  • Started implementation of device driver framework in menu
  • Embedded the Qextserialport library (http://qextserialport.sourceforge.net/)
  • Started the Documation M200 Client device driver (well, just created the directory structure and qmake project file infrastructure)
  • At the current state, the complete project compiles :-)

Statistics: About 3500 Lines of code (without libqextserialport)

-- sven @ workstation

  • Property svn:executable set to *
File size: 11.6 KB
Line 
1Change history for QextSerialPort (formerly QwSerialPort):
2(Lines beginning with + represent new functionality, * represent changed or
3fixed functionality, - represent removed or deprecated functionality)
4
5Version 1.1 (official release)
6
7Version 1.0.1
8  * Minor changes (mostly in test application)
9
10Version 1.0.0e (by Micha³ Policht)
11  * Fixed bytesAvailable(). Includes buffered bytes to the result.
12  + Added isSequential() method.
13  + Provided test application
14
15Version 1.0.0d ( changes by Micha³ Policht )
16  - Removed isOpen() overriden declaration/implementation from qextserialport's classes. isOpen() relies on QIODevice now.
17  - Removed bool portOpen variable. Replaced by internal QIODevice.openMode.
18  - Removed getChar(), putChar() overriden declaration/implementation. QIODevice can handle this.
19  * Calling open() with specified OpenMode invokes QIODevice::open() which result in proper openMode setting.
20  * readData(), writeData() are protected as in QIODevice declaration.
21  * QIODevice:: read() and write() function are working now (use them instead of readData() writeData()).
22  * 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.
23  * Fixed readLine().
24
25  * Fixed randomly crash on deletion bug on Windows ( by Stuart Nixon )
26  http://lists.trolltech.com/qt-interest/2007-02/thread00340-0.html#msg00351
27
28Version 0.9 (March 3, 2005) Stefan Sander <stefan-sander@users.sf.net>:
29  + Added a new precompiler constant, _TTY_FREEBSD_
30    to support FreeBSD port names.
31  + Added _TTY_WIN_ constant in qextserialport.pro win32:DEFINES
32    to have Windows port names as default when compiling on it.
33  - Removed construct() call from QextSerialBase constructors,
34    it is called indirectly through Win_QextSerialPort::construct()
35    and Posix_QextSerialPort::construct().
36  + Added construct() call to Win_QextSerialPort constructors.
37  + Added setTimeout(0, 500) call to Win_QextSerialPort::construct().
38  - Removed setTimeout(0, 500) call from Win_QextSerialPort(const char* name).
39  * Fixed Posix_QextSerialPort::open(int) control flow, now the port settings
40    are only applied if the associated file could be opened.
41  * Fixed masking CR to NL, in Posix_CommConfig.c_iflag
42
43Version 0.8 (, 2003) (Alpha release):
44  * Added code to set the port timeouts in Win_QextSerialPort's default
45    constructor.
46  * Fixed Posix_QextSerialPort::construct() to set up the port correctly.
47  * Fixed syntax errors in 2 ioctl() calls in posix_QextSerialPort.
48  * lastError is now initialized to E_NO_ERROR in the QextSerialBase
49    constructor.   
50  * The select() call in posix_QextSerialPort::bytesWaiting() is now
51    properly coded.  Previously it would always time out.
52  * Fixed runtime errors in the ioctl() calls for
53    Posix_QextSerialPort::setDtr() and Posix_QextSerialPort::setRts().
54    Thanks to Marc Pignat.
55   
56Version 0.7 (June 15, 2002) <Bugfix release>:
57  (0.61 - unofficial release)
58  * Fixed a small bug in the initializations of the static members when
59    QT_THREAD_SUPPORT was defined.
60  * Fixed a  bug that caused Borland's compiler to choke on Windows platforms
61    (which perversely actually stemmed from a shortcoming of Visual C++ that
62    Borland doesn't have).
63   
64  (0.62 - unofficial release)
65  * Fixed a bug that gave Q_LONG the wrong typedef for QT versions prior to
66    3.0.
67   
68  (0.63 - unofficial release)       
69  * Fixed 2 incorrect references to Posix_Comm_Config.
70  * Fixed scoping of Posix_QextSerialPort::operator=().
71  * Posix_QextSerialPort::construct should now be coded correctly.
72  * Fixed return type for Posix_QextSerialPort::size().
73 
74  (0.64 - unofficial release)
75  * Fixed all the port settings functions to work properly when opening the
76    port for the first time - previously none of the settings were being
77    applied when the port was opened.
78  * Fixed an oversight in Win_QextSerialPort::open() that caused the setting
79    of port parameters to fail on NT and 2000 systems.
80   
81  (0.7 - official release)
82  * Fixed some calls to QextSerialBase constructors that no longer exist on
83    the POSIX side.
84  * Fixed the bad memcpy()'s in the POSIX copy constructor.
85  * Fixed the Offset scoping problem under gcc 2.95.
86  * The CBAUD flag has been deprecated on some POSIX systems.  Fixed
87    Posix_QextSerialPort::setBaudRate() to reflect this.
88  * Added construct() calls to all of the Posix_QextSerialPort constructors.
89  * Fixed double (and conflicting) typedefs of Offset when using QT versions
90    prior to 3.0
91  * Changed the call to CreateFile() to CreateFileA() in
92    Win_QextSerialPort.cpp.  This should get rid of problems for those using
93    Unicode or other multibyte character sets for their string literals.
94  * A few tweaks to the documentation.
95   
96  - Removed the protected Posix_Handle variable from Posix_QextSerialPort.
97 
98Version 0.6 (March 11, 2002) <Bugfix release>:
99  + Added a new precompiler constant, QTVER_PRE_30.  QT3 changed the return
100    types of some QIODevice functions. Therefore, if compiling on versions
101    of QT prior to 3.0, you should always define QTVER_PRE_30 in your project.
102    Also had to add some preprocessor blocks to support both 3.0 and earlier
103    versions of QT.
104  + Added implementations of 2 of the new constructors added in 0.5 to both
105    Win_QextSerialPort and Posix_QextSerialPort.
106
107  * The scoping of the enums used in the PortSettings struct has been fixed.
108  * QObject inheritance has been removed.  This should not affect the
109    functionality of the classes.
110  * Replaced a few stray references to mutex->unlock() with UNLOCK_MUTEX() in
111    the Windows code.
112  * Fixed several runtime errors caused by calling nonexistent members of
113    QextSerialBase.
114  * Fixed a whole bunch of little things that were causing MSVC to choke when
115    compiling for Windows.
116
117Version 0.5 (February 15, 2002):
118  + There are 4 new macros (LOCK_MUTEX, UNLOCK_MUTEX, TTY_WARNING, and
119    TTY_PORTABILITY_WARNING) that replace most of those ugly #ifdef blocks in
120    the code. 
121  + In place of the old namingConvention stuff, there is a new function,
122    setName().  It is used to set the name of the device to be associated with
123    the object.  The new name() function can be used to retrieve the device
124    name, which is stored in the new member variable portName.
125  + There is a new version of open() that takes a const char* as a parameter.
126    It can be used to specify the name of the device when it is opened rather
127    than at construction time.
128
129  * 3 constructors have been removed and 3 more added.  There is now a copy
130    constructor (and operator=()) as well as a constructor that takes a
131    PortSettings structure as a parameter, and another that takes both a
132    device name and a PortSettings structure.  As a result of these changes
133    the PortSettings structure declaration is no longer local to the
134    QextSerialBase class.  All of the removed constructors had to do with
135    the setNamingConvention() system.
136  * The static mutex member should now be reference-counted and only deleted
137    when it is no longer referenced. 
138  * Most of the object construction duties have been pushed back into
139    QextSerialBase
140  * Fixed a couple resource leaks, mostly to do with unlocking the mutex
141    properly
142
143  - Removed the setNamingConvention() nonsense. 
144  - Removed all QStrings and calls to sprintf() for thread compatibility.
145  - Removed setNumber() functions as well as the portNumber member variable,
146    as they were only necessary under the setNamingConvention() system.
147
148  I am grateful to Jorg Preiss (Preisz?  Sorry, American keyboards don't have
149  an ess-tset character ;)) for his invaluable input on most of the changes
150  that went into this version.
151
152Version 0.4 (March 20, 2001):
153  + All of the classes now derive from QObject as well as QIODevice.  This
154    is pretty much useless at the moment - signals and slots may be used
155    to implement asynchronous communications in a future version
156  + Added configurable timeouts via the setTimeout() function.  The default
157    timeout for read and write operations is now 500 milliseconds
158  + There is now a functional .pro file for the library (thanks to
159    Gunnstein Lye)
160  + The prefixes for all of the classes have changed from Qw to Qext, in
161    compliance with the qt-addons project standard
162
163  * Fixed a bug that caused port settings to be restored incorrectly when
164    switching ports with setNumber()
165  * Minor changes to QextSerialBase::setNumber().  Functionality should now
166    reflect the documentation, which has also been updated to reflect the
167    changes that went in on version 0.3.
168  * Some fixes to the documentation.  The Posix_QextSerialPort and
169    Win_QextSerialPort classes should no longer have any unnecessary
170    references to inapplicable platforms, and the documentation for open() has
171    been updated.
172  * Should now compile without QT_THREAD_SUPPORT defined (ie, in single-
173    threaded environments), although it will require slight changes to the
174    makefile (tmake "CONFIG-=thread" should work)
175  * Fixed a few compilation issues, especially on the POSIX side (should
176    compile under Linux now :))
177  * POSIX code is a little cleaner and more efficient
178  * Various small fixes to the documentation
179  * Constants now follow a consistent naming convention, with underscores at
180    the beginning and end of each.  For example TTY_POSIX has become
181    _TTY_POSIX_
182   
183Version 0.3 (Feb. 14, 2001):
184  + Added a warning that appears when QwSerialPort is compiled on a POSIX
185    platform that does not implement 76800 baud operation.  In this situation
186    QwSerialPort will also switch to 57600 baud.
187  + Major code reorganization - there are now 4 classes instead of 1.  This
188    should remove a lot of the #ifdef...#else...#endif constructs and
189    hopefully make the code easier to read.  Including the class in your
190    project is still done by including QwSerialPort.h and instantiating a
191    QwSerialPort object.
192
193  * The serial port associated with a QwSerialPort object is no longer
194    opened on construction, or upon calling the setNumber() function.  You
195    must now explicitly call open() to open the port.
196
197Version 0.2 (Jan. 3, 2001):
198  + Added lastError() function with rudimentary error codes
199  + Better documentation
200  + Added ability to examine the empty/not empty state of a port's input
201    buffer with atEnd()
202  + Added ability to retrieve the number of bytes in a port's input buffer
203    with size() (thanks to Olivier Tubach)
204  + Added ability to turn off portability warnings by defining
205    TTY_NOWARN_PORT in your project
206  + Added ability to turn off all warning messages by defining TTY_NOWARN
207    in your project
208  + Added ability to select POSIX serial functions in Windows NT/2000 by
209    defining TTY_POSIX in your project (untested)
210  + Added control over RTS and DTR lines with setRts() and setDtr()
211    respectively
212  + Added ability to query line status using lineStatus().
213  + Added readLine() functionality (thanks to Olivier Tubach)
214  + Added bytesWaiting(), a non-const/thread-safe version of size()
215  + The class should now be thread-safe through the use of a recursive
216    QMutex (untested)
217
218  * Fixed a bug that could cause hardware flow control not to work on some
219    POSIX systems
220  * Put in a few missing fileno() calls in the POSIX code
221  * Fixed a few syntax errors that caused compilation to fail on POSIX systems
222
223  - BAUD0 is no longer a valid baud rate setting - to drop the DTR line,
224    call setDtr(FALSE)
225
226Version 0.1 (Dec. 11, 2000):
227  Initial public release.
Note: See TracBrowser for help on using the repository browser.
© 2008 - 2013 technikum29 • Sven Köppel • Some rights reserved
Powered by Trac
Expect where otherwise noted, content on this site is licensed under a Creative Commons 3.0 License