Menu

SimpleDCS / Blog: Recent posts

released v1.0.16

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

Posted by Tomasz Pawlak 2024-01-08

Released v1.0.15

  • Fixed: (BUG::regression in v1.0.14): ColorSet.h: cairo colors not initialized in ctor: NewProject -> everything painted with black.
  • Added: SMP pixel data processing for single trace, if the number of visible data records is above threshold (currently fixed, 250K records) -> total repaint time of ~6.2ms for real-life data set of 3.1x10^6 records.
  • Change: Don't save track data if it's not changed.... read more
Posted by Tomasz Pawlak 2021-11-22

Released v1.0.14

DaqView: Fully parallel off-screen rendering of channels windows, using cairo image surfaces and OpenMP.
This dramatically improves performance for large data sets.

Posted by Tomasz Pawlak 2021-11-14

Future of the project

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.

Posted by Tomasz Pawlak 2021-10-18

Released v1.0.13

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).

Posted by Tomasz Pawlak 2021-10-18

Released v1.0.12

Maintenance release: fixed regressions introduced by wxWidgets-3.0.5-GTK3
See changelogs for full list of changes.

Posted by Tomasz Pawlak 2021-10-10

Released v1.0.11

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.

Posted by Tomasz Pawlak 2020-01-12

Released v1.0.10

Yet another important compatibilty problem with wxWidgets v3.x has been patched:

  • Fixed: (BUG) wxWidgets v3.x.x: DaqViewer: wxTextCtrl::SetEditable() is undocummented in wxWidgets
    v3.x.x and its behaviour is incompatible with 2.8.x.
    TraceCfgPanel: txc_MALptr and txc_DeadBand controls are processing editor events even
    after SetEditable(false) is called -> this leads to a mess, since those fields must not
    be editable for remote daq traces.
    Now the wxWindow::Enable() is used as a workaround, but it's not the same as SetEditable():
    disabled window doesn't allow to select and copy the text.
Posted by Tomasz Pawlak 2018-12-20

Released v1.0.9

  • Added: support for wxWidgets v3.1.1 experimental
  • Fixed: (BUG::old) HC segfault when the started before the DC:
    main()->host_destroy()->dhc_destroy()->dar_Destroy() can be called more than once
    in case of critical errors, and the fc4c xxx_Destroy() functions are clearing the
    target pointer -> segfault.
    Segfaults are catched by cxc, so the only negative consequnce was that the cxc backtrace
    was printed for the segfault event and not for the real event which have caused the problem.
  • Fixed: (BUG::old) DaqView: dv_chn_cl::evt_Paint(): b_PixDataRecalc was allways set to true,
    due to incorrect updating of dc_size_prev -> faster refreshing in some cases.
  • Fixed: DaqView: dv_chn_cl::evt_Paint(): show error message for if critical error occurs
    (previously ignored!).
  • Fixed: CPL: wxWidgets v3.1.x: assertion failure: sizers: DoInsert(): vertical alignment flags
    are ignored with wxEXPAND.
  • Fixed: wxWidgets v3.1.x: wxEVT_GRID_CELL_CHANGE is no longer supported -> renamed to
    wxEVT_GRID_CELL_CHANGED
  • Change: DaqView: dv_chn_cl::evt_Paint(): optimized handling of "top tracks" (plotted above
    the others)
  • Added: Option to set font used for channels: Menu Settings->"Set channel font".
  • Added: mod_w1ts: support for filtering temp. value: reports avarage of N samples
  • Change: Removed channel window borders, replaced with splitting lines drawn on the bottom edge
    of the channel window. Drawing of splitting lines is now optional, option is saved
    in the cfg.

Full list of changes in the change logs.

Posted by Tomasz Pawlak 2018-12-19

Released v1.0.8

  • Fixed: CRITICAL BUG: mod_w1ts: Device file lenght check triggered read error for temperature value in range -1.0...1.0 (smaller device file -> lenght check failed). This Bug has been discovered after the physical layer of 1-wire bus has been stabilized (long cables: there was a lot of other errors, like unattended restarts, etc. - so this bug was "invisible" till now).
  • Fixed: (BUG::old) build scripts: mod_w1ts, mod_mmap should not be explicitly linked with fc4c and txtconf: libtool: don't create DSO version links.
  • Fixed: (BUG::old) DaqViewer: local tracks of some specific value types couldn't be saved: missing definitions for some client-side track value types.
  • Fixed: some button's tooltips were not shown due to a BUG in wxSmith.
  • Fixed: DaqViewer: Y-offset adjustment with mouse wheel: a single wheel event causes shifting of the chart exactly by 1 pixel up/down.
  • Added: CPL & DaqViewer: improved support for variable font sizes.
  • Added: CPL & DaqViewer: option to override WM window placement: force saved window position & size.
  • lots of other small changes and bugfixes.... read more
Posted by Tomasz Pawlak 2018-12-08

Released v1.0.7

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.

Posted by Tomasz Pawlak 2018-11-12

Released v1.0.6

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

Posted by Tomasz Pawlak 2017-09-12

Released v1.0.5

Just a few changes in the libctainer.

Posted by Tomasz Pawlak 2017-05-09

Released v1.0.4

  • Many small bugfixes...
  • New status frame, which provides additional host-side informations, like CPU load, system and DC uptime and the number of active connections.
  • DaqViewer: function for removing old records.
  • CPL: In case of DC error the device tree is automatically switched to a root node view (to show the DC status)
  • CPL: mod_w1ts: new params for collecting the 1-wire bus/device error statistics.... read more
Posted by Tomasz Pawlak 2017-04-01

Released v1.0.3

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)

Posted by Tomasz Pawlak 2017-03-12

Released v1.0.2

  • Fixed: DaqViewer: track names and dead band value are now properly synchronized with the host-side DAQ.
  • Fixed: (BUG) lib_client: daq_cmp_traces(): incorrect checking of MAL pointer.
Posted by Tomasz Pawlak 2017-02-19

Released v1.0.1

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

Posted by Tomasz Pawlak 2017-02-13
Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.