Skip to content
Tags give the ability to mark specific points in history as being important
  • 000_focus2020week17
    Tag for the group focus in 2020 calendar week 17
    
    Tag to create a consistent set of DeviceAccess, ControlSystemAdapter and ApplicationCore which compile and all DeviceAccess and ApplicationCore tests are passing (except for race conditions)
  • 01.11.01
    New PATCH release 01.11.01
    
    Changes since 01.11.00:
    - Template example server: improved CMake
    - fix not using a ConsumingFanOut when connecting the two poll-types each with a push-type variable (e.g. control system)
  • 01.11.00
    New MINOR release 01.11.00
    
    Changes since 01.10.00:
    - fixed race conditon in hearbeat thread of RebotBackend
    - LogicalNameMapping: Add typeHintModifierPlugin
      -- This plugin changes the catalogue type of an entry in the logical name
         mapping's catalogue
    - make ExceptionDummyBackend's flags thread safe
    - Moved ExceptionDevice code from ApplicationCore and renamed it to ExceptionBackend
    - Fixed -Winconsistent-missing-override warnings.
    - lmap: Disallow use of plugins in <ref>'d constants
      -- At the point of evaluating the reference, we cannot evaluate the plugins yet
  • 01.10.03
    45557868 · increase patch level ·
    New PATCH release 01.10.03
    
    Changes since 01.10.02:
    
    - fix crash in case of certain illegal networks (test was failing)
  • 01.10.02
    a5be5991 · increase patch level ·
    New PATCH release 01.10.02
    
    Changes since 01.10.01:
    
    - fix wrong read-type for initial values when reading from devices through FanOut
    - add information about initial value propagation to VariableNetworkNode::dump()
  • 01.10.01
    65041603 · increase patch level ·
    New PATCH release 01.10.01
    
    Changes since 01.10.00:
    
    - writeAll()/readAll() and friends now exclude return channels by default.
    - TestFacility: fix initial values for bidirectional variables
  • 01.10.00
    New MINOR release 01.10.00
    
    Changes since 01.09.02:
    
    - Removed: _hasError and isFunctional() implementation from DeviceBackendImpl (#97)
    - Implement isFunctional() in all backends
    - RebotBackend: asio async connect potential fix tumbleweed
    - VersionNumber: allow construction of a null version number, use it as initialisation value
    - Documentation: clarify specification of TransferElement doPre/PostRead/Write functions
    - Extend tests for Rebot
    - Rebot backend can now take a connection timeout.
  • 01.09.02
    3b65162f · increase patch level ·
    New PATCH release 01.09.02
    
    Changes since 01.09.01:
    
    - Fix logical name mapper MonostableTriggerPlugin destructive write operations (#94)
    - Removed no-loger used files. This fixes #95.
  • 01.09.01
    4e43ac73 · increas patch level ·
    New PATCH release 01.09.01
    
    Changes since 01.09.00:
    
    this is a fake release, which is necessary because something went wrong in the publication of the Debian packages
  • 01.09.00
    00fe6c1e · increased patch level ·
    New MINOR release 01.09.00
    
    Changes since 01.08.00:
    - Device::open() does not filter calls to open() any more if the device was already opened.
      This is needed so calling open() again can trigger a recovery sequence
      -- All backends have been checked that they don't throw if open is called again
         (The recovery sequences are not in place yet, there should be no behaviour change)
    - lmap-editor:
      -- Respect map file's modules when importing
      -- Skip lines beginning with @, so we don't create @MAPVERSION registers
      -- Use Qt5 and Python3
      -- Fixed raw data type in catalogue when using the math plugin
    - RegisterInfo::DataDescriptor:
      - Fixed nDigits and nFractionalDigits, which were always set to 0 in the constructor
    - Fixed #85: obtaining dummy-write accessor for 2D registers raised null-pointer assertion
    - build system:
      -- Add filesystem as public dependency
      -- Declare boost components as public dependency
  • 01.08.00
    New MINOR release 01.08.00
    
    Changes since 01.07.00:
    
    Interface change:
    
    - NumericAddressedBackend: RegisterAccessor throws logic_error on write to read-only register
    
    New features:
    
    - DummyBacked and SharedMemoryDummy:
      Read-only registers can be written for debugging and testing. To
      achieve this, special accessors can be retrieved by appenending the
      suffix ".DUMMY_WRITABLE" to the actual register name.
    - added Device::isFunctional()
    
    Documentation:
    
    - DummyBackend usage
    - exception scheme
  • 01.07.00
    3668a7db · increased minor version ·
    New MINOR release 01.07.00
    
    Changes since 01.06.00:
    
    - allow to generate VersionNumber instances with an externally-defined time stamp
  • 01.06.00
    137e45d9 · increased minor version ·
    New MINOR release 01.06.00
    
    Changes since 01.05.00:
    
    - added getter function for the matching mode
  • 01.05.00
    dae202e9 · increased minor version ·
    New MINOR release 01.05.00
    
    Changes since 01.04.00:
    
    - DataConsistencyGroup: allow setting different matching modes. Currently this basically allows only to switch off the consistency matching
    - Fixed bug appearing with gcc9 in the ieee754 converter
  • 01.04.00
    85d5cbeb · increased minor version ·
    New MINOR release 01.04.00
    
    Changes since 01.03.00:
    
    - Add data validity flag to TransferElement
    - Add writeDestructively() to TransferElement. This is implemented already by the ControlSystemAdapter but can currently not be used, since it is missing in the interface.
    - Fixes for the logical name mapping backend:
      - Fixed thread safetly for LNMBackendVariableAccessor
      - Fixed LNMBackendBitAccessor safety. Along side writing them through TransferGroup is also fixed (#48)
      - Fixed parsing map file multiple times - this also has reset the content of variables to its default values from the map file when obtaining a register accessor.
      - Fixed throwing incorrect logic_error when trying to obtain an accessor on a closed device without prior call to getRegisterCatalogue(): the catalogue was not filled in that case.
    - Muxed data accessor for NumericAddressedBackends: adjust default FixedPointConverter bit width according to actual register width. This fixes a minor regression introduced in the last release.
    - DummyBackend: minor performance optimisation
    - Changes to build environment
  • 01.03.00
    bbe15728 · increased minor version ·
    New MINOR release 01.03.00
    
    Changes since 01.02.00:
    
    LogicalNameMapper:
    - allow constants and variables of other types than integer
  • 01.02.00
    New MINOR release 01.02.00
    
    Changes since 01.01.01:
    
    Public API:
    
    - Allow construcion of Device objects with a given alias name or CDD string (without opening it). This allows certain operations like obtaining the RegisterCatalogue and accessors already with closed devices. If you are author of backends, please verify that your backends properly support this!
    - Implementation of the DataConsistencyGroup. See #25
    - Fixed issues with concurrent access to the opened state of devices (opened state is now atomic)
    
    Numeric addressed backends:
    
    - Performance optimisations of fixed point conversion and 2D demultiplexing. The FixedPointConverter/IEEE754_SingleConverter are now converting blocks of data.
    
    Logical name mapping backend:
    - add accessor plugins (see #29):
      - scale plugin
      - math plugin
      - monostable trigger plugin
      - force read-only plugin
      - force polling read plugin
    - allow obtaining catalogue of closed device
    
    Tests:
    
    - Rewrite rebot dummy server to async IO (fixes #32)
    
    Other:
    
    - Simplified the VTable filler with C++14 variadic lambdas. This improves also compiler error messages when using it incorrectly.
    - Some fixes required for newer compiles
    - removed some long-deprecated and unused functions
    - extend AccessModeFlags api: allow to serialize and deserialize
  • 01.01.01
    17769a14 · increased patch level ·
    Patch Release 01.01.01
    
    No changes since 01.01.00. Re-tagged to force a new debian build.
  • 01.01.00
    New MINOR release 01.01.00
    
    Changes since 01.00.06:
    
    Features:
    - Support for IEEE754 single precision floating point variables in NumericAddressedBackends
    - Introduced raw dummy accessor in Dummy Backend for testing the type converting accessors of the numeric addressed backend
    - Added ReadAnyGroup::waitAny()
    - Added missing documentation for MULTIPLEXED_SEQUENCE entries.
    - Access mode from map file is passed on in the accessors
    - ReadAnyGroup can be created from pointers to TransferElement rather then copies of TransferElementAbstractor
    - TransferFuture: Allow discarding values by throwing a DiscardValueException, in decorator-like implementations inside future_queue continuations.
    - LogicalNameMapping: set data descriptor for redirected bit registers
    - LogicalNameMapping: allow using <par></par> (and <ref></ref> together with surrounding text data
    - SubdeviceBackend:
      -- extended the subdevice backend with a "3 registers" implementation (address, data, status)
      -- added 2reg type which just uses a sleep instead of the status register
    - Extended the RegisterCatalog entries (RegisterInfo) with isReadable(), isWriteable() and getSupportedAccessModes().
      ATTENTION: This change is an incompatible change in the backend interface. Backends have to implement these functions and return useful information!
    - Allow const access to data in ScalaRegisterAccessors
    - Logical name mapping: added support for parameters through the CDD
    
    Bug fixes:
    - Disabled tests that requires PCIe backend for platforms that don't support it
    - Add check for shm_open in CMakeLists.txt. Solves platform dependent linker problems with librt and libthread.
    - Fixed test of RebotHeartbeatCount. Test is now activated again.
    - Throwing proper exception in case of unkown backend types
    - Fixed build problems on macOS.
    - Added tests and install target to example
    - Properly pass on the cppext include directory to dependencies
    - Fixed ReadAny for ControlSystemAdapter::BidirectionalProcessArray
    - Force backend accessors to implement TransferElement::getVersionNumber(). The default implementation was dangerously wrong and could lead to strange effects (e.g. in ApplicationCore).
    - Added lock to make the subdevice backend thread safe
    - Logical name mapping: throw exception if channel accessor is requested for a channel outside the valid range
    - Fixed typo coocked -> cooked. This had unfortunately propagated to the public interface. THIS COMMIT IS BREAKING THE API!
    - Removed deprecated getFixedPointConverter() from NDRegisterAccessor interface
    - Removed deprecated lineNumber from RegisterInfoMap::RegisterInfo
  • 01.00.06
    775ad4ac · increased patch version ·
    New PATCH release 01.00.06
    
    Changes since 01.00.05:
    
    - Added two missing semicolons. This bug was accepted on older gcc versions but no longer is on newer...