Most important changes:
- Fixed: lots of BUGs fixed ...
- Added: DC: HAL thread for updating IO mapped GPIOs - device modules are no longer accessing the GPIOs directly.
- Added: support for DB,L,T,C areas and ANY pointers (64bit) - object size ranges from single bit to 64KiB block of data.
- Change: DaqView: switched from OpenMP to libulttiny: much faster, better scalability. Total rendering time=3.54ms for 4.2x10^6 records :)... read more
DaqView: Fully parallel off-screen rendering of channels windows, using cairo image surfaces and OpenMP.
This dramatically improves performance for large data sets.
OK, the experimental phase is nearly finished - so I can begin a next phase -> mod_PLC. The PLC module will be just an interpreter for the IL language - and it would offer support for real-time debugging and real-time data traces.
Mostly regression fixes in the DAQ Viewer. One of the most significant changes is the possibility to choose whether the project data has to be compressed or not.
Full list of changes in the changelog(s).
Maintenance release: fixed regressions introduced by wxWidgets-3.0.5-GTK3
See changelogs for full list of changes.
The most important change is an update of rcode - now the project uses rcode v1.0.3 - this version allows to bind error messages to rcode value, but requires preprocessing of the source files using "rcd_autogen" script - which is done automatically by the configure script.
In fact, the update was made few months ago, but because it involved serious changes to some critical functions, I've decided to wait and test the project before releasing a new version. A few months of uptime allows to assume that there is no regression.
Yet another important compatibilty problem with wxWidgets v3.x has been patched:
Full list of changes in the change logs.
Most important changes:
- dropped support for old wxWidgets versions (<3.0.0)
- removed libctainer: now the project is using libfc4c: https://sourceforge.net/projects/libfc4c
- new module: mod_hctl: high precision heat transfer controller.
- improved handling of communication errors.
- fixed few compatibility problems with wxWidgets v3.0.x
- lots of small bugfixes.
- few extra functionalities
Full list in changelogs.
The most important problem solved in this release is that it can be compiled with GCC 6.x - until now, the project was tested under GCC 4.x, but it showed up that it fails under newer GCC - fixed.
The next most important change (induced by the change of the version of the compiler used) is the change of C standard used: GNUC90 -> GNUC99.
This change needed a few tens of hours of work (testing), after implementing tens of fixes - but now it works :)... read more
DaqView:
- Added: Navigation: shifting/zooming of the view window with a mouse wheel.
- Added: Chart colors configuration dialog with preview capability, settings are saved in a project config.
- Added: simple dialog with shortcuts description.
- Fixed: (BUG) Date control can be incorrectly displayed when some non-default themes are used.
- Fixed: (BUG) tracks which are not assigned to a particular channel are not saved, even if there are data files already created for such tracks.
- Fixed: (BUG) Track disappears if the zoom factor is extremely high (none of data points is in the visible area)
Many bugfixes and other small corrections.
- Fixed: (BUG::regression) client lib: client.c: read_hcdev() must ignore selection flag in client-side dparm type code.
- Fixed: (BUG): CPL data refreshing should be stopped also when user selects a parameter: otherwise the selection will be cleared in next refreshing cycle.
- Fixed: lib_client: missing support for setting socket timeout parameters.
- Added: connection timeout config option for HC, mod_mmap, CPL and DaqView.
- Added: SetupConnDlg: Connection timeout setting.
- Fixed: (BUG) DaqViewer: In auto-update mode tdClient runs asynchronously to UpdateDaq() and in case when the connection fails, many pending events can be generated. This results in showing many critical error messages when the socket finally dies. Solution: inter-locking between tdClient and UpdateDaq(): tdClient_cl::b_cmd_lock... read more