Skip to content
Tags give the ability to mark specific points in history as being important
  • 02.08.01
    9965c103 · increased patch level ·
    New PATCH release 02.08.01
    
    Changes since 02.08.00:
    - Math plugin parameter read loop: first wait for data, then write
      -- Prevents data being written when a device with math plugin and push-type parameters is being opened.
  • 02.08.00
    3fc9b1fa · increase minor version ·
    New MINOR release 02.08.00
    
    - fix bug #9406 redirectbit target
    - Fix ScalarRegisterAccessors<Boolean> not implicitly converting to bool.
    - New areaHandshake mode for SubDevice backend
    - xdma: fix crash when address out of range
  • 02.07.00
    2b1c3b57 · fix wrong include ·
    New MINOR release 02.07.00
    
    Changes since 02.06.01:
    
    - Add support for XDMA events (interrupts) (Github #215)
    - Add writeIfDifferent() convenience function (redmine #8141)
    - Fix readAnyNonBlocking() in ApplicationCore testable mode (redmine #9082)
    - SubdeviceBackend, 2regs/3regs: add optional address-data delay
    
    - Fix incomplete license
    
    - Added docu for the design of AsyncNDRegisterAcessor, AsyncAccessorManager and the implementation in NumericAddressedBackend
  • 02.06.01
    52c8b35b · increased patch level ·
    New PATCH release 02.06.01
    
    Changes since 02.06.00:
    - Patch: Map file parser allows VOID registers with address for writing
  • 02.06.00
    New MINOR release 02.06.00
    
    Changes since 02.05.00:
    
    Features:
    * Introduced data types Void and Boolean
    * Introduced AsyncNDRegisterAccessor and AsyncAccessorManager as generic classes for push-type accessors
    * Support for push-type accessors in the NumericAddressedBackend and DummyBackend
    * Add Async registers to unified tests
    * TransferElement spec version 1.0
    * ExceptionDummy: allow to override data validity
    * UnifiedBackendTest for NumericAccressedBackend
    * SubdeviceBackend 2regs/3regs mode: add support for data areas
    
    Interface changes:
    * NumericAddressedBackend: throw if numberOfWords == 0 && wordOffsetInRegister > 0
    * Add bar argument to NumericAddressedBackend::minimumTransferAlignment()
    * Add DECLARE/INSTANTIATE TEMPLATE macros which exclude void
    * NumericAddreddedBackend::close() is now final.
      The function to be implemented by the individual backends has been renamed to closeImpl().
      Except for renaming, no further changes are needed in the backends for this point.
    * Behaviour change for SubdeviceBackend 2regs/3regs mode:
      Previously, the address written to the address register was incremented in steps of 4
      for subsequent low-level transfers of the same high-level register (like
      a byte address). This does not make much sense, and likely no use case
      relied on this behaviour. It should be noted though that this behaviour
      was tested. The tests have been changed accordingly (and extended with
      the new functionality).
  • 02.05.00
    New MINOR release 02.05.00
    
    Changes since 02.04.00:
    - Add XDMA backend (support for the Xilinx xmda pcie driver)
      -- Identifier for the CDD: xdma
      -- Support for reading PCIe registers and doing DMA transfer through the AXI-Light interface
  • 02.04.00
    New MINOR release 02.04.00
    
    Changes since 02.03.01:
    
    - NumericAddressedBackend: Move check for valid bar indices to implementations
    
    - NumericAddressedBackend: change address format to 64 bit (both bar and address)
      Note: Ther is some backwards compatibility, but this change might require updating some backends, e.g. deriving from DummyBackend
    
    - LNMMathPlugin: fix push-type parameters for array targets
    
    - LNMMathPlugin: fix changing to wrong DataDescriptor
    
    - SubdeviceBackend: add timeout to 3reg mode
    
    - fix wrong conversion (u)int8_t <-> string used in multiple places
    
    - fix incorrect nDigits in DataDescriptor for negative fractional bits
    
    - Use up-to-date boost::bind header and placeholders with namespace
    
    - remove long-deprecated and no longer used API from the DeviceBackend
  • 02.03.01
    aafef5e5 · increased patch version ·
    New PATCH release 02.03.01
    
    Changes since 02.03.00:
    - Increased patch version to force re-packaging.
      No changes to the code.
  • 02.03.00
    ea07094e · improve exception message ·
    New MINOR release 02.03.00
    
    Changes since 02.02.02:
    Features:
    - Support for 8 and 16 bit raw and unaligned access in NumericAddressedBackend
    - Support for pkgconfig (from project template)
    - Added docu and example for wait_for_new_data
    
    Bug fixes:
    - NumericAddressedBackends: fix raw data info for FundamentalType:: boolean, nodata and string.
    - Fixed that linker flags for config-script and pkgconfig did not include pthread
  • 02.00.04
    New PATCH release 02.00.04
    
    Changes since 02.00.03:
    
    - fix spamming log file with error messages if device initialisation fails
  • 02.02.02
    f9602ed7 · increase patch level ·
    New PATCH release 02.02.02
    
    Changes since 02.02.01:
    
    - fix not adding cppext libraries
  • 02.02.01
    110fed1a · increase patch level ·
    New PATCH release 02.02.01
    
    Changes since 02.02.00:
    
    - fix LNM redirectedChannel ignoring targetStartIndex and numberOfElements
  • 02.00.03
    45174e36 · increase patch level ·
    New PATCH release 02.00.03
    
    Changes since 02.00.02:
    
    - fix not reporting exception to backend
  • 02.02.00
    f2975949 · increase minor version ·
    New MINOR release 02.02.00
    
    Changes since 02.01.02:
    
    - fix calling setException() even if the exception gets suppressed
      The ExceptionHandlingDecorator of ApplicationCore suppresses exceptions. Calling setException() in those cases makes recovery impossible.
    - fix potential dead lock (logical name mapping math plugin)
    - fix LNM backend inconsistent logic for exception state in isFunctional() and open()
  • 02.00.02
    36122f9e · Increase patch version ·
    New PATCH release 02.00.02
    
    Changes since 02.00.01:
    
    - CircularDependencyDetector: Avoid deadlocks
    - findTag: Improve message for illegal usage of oneUp-modifiers. Nonvirtual
               path to module is printed.
    - Logging Module:
      - Update documentation and update publishing options.
      - The user can now also choose to publish messages only to the control
        system.
  • 02.01.02
    1aa7d808 · increase patch level ·
    New PATCH release 02.01.02
    
    Changes since 02.01.01:
    
    - fix subdevice backend not propery calling setException
    - fix numeric addressed backend not calling setException on the right level
    - fix UnifiedBackendTest::test_B_9_1 not being sensitive to TransferGroup-related bugs
  • 02.01.01
    d3de439b · increase patch level ·
    New PATCH release 02.01.01
    
    Changes since 02.01.00:
    
    - fix PcieBackend closing on its own if recovery attempt fails
    - reenable and fix LNM math plugin feature to update target when push-type parameters change
    - UnifiedBackendTest: add test that the backend is still open after an exception
  • 02.01.00
    f950a1bb · increase minor version ·
    New MINOR release 02.01.00
    
    Changes since 02.00.01:
    
    - LNM math plugin: enforce unidirectional usage (fixes #185)
      THIS IS AN INCOMPATIBLE CHANGE: Users will need to add the forceReadOnly plugin when reading writable target registers through the math plugin!
    
    - do not throw numeric_cast exceptions in conversions (slight behaviour change!)
    
    - LNM: implement wait_for_new_data for variables (fixes #187)
    
    - Revised rebot connection runtime error message
    
    - fix wrong return type of SupportedUserTypes::getAsString()
    
    - some fixes to tests
    
    - updated documentation
  • 02.00.01
    New PATCH release 02.00.01
    
    Changes since 02.00.00:
    
    - fix ReadAnyGroup calling postRead in case of DiscardValueException
    - ReadAnyGroup: call preRead() only when needed
    - make TransferElementAbstractor::getHighLevelImplElement() return a const reference to the shared_ptr
  • 02.00.00
    New MAJOR release 02.00.00
    
    Changes since 01.11.00:
    
    Note: There are API breaking changes introduced with this release, mainly breaking the backend interface and the asynchronous read API!
    
    - Introduce specification for TransferElement, with requirements from ApplicationCore exception handling
    - Change implementation according to the new specification
      - Quick summary of API breaking changes (maybe incomplete):
        - preXxx/xxxTransferYyy/postXxx functions have changed interface
        - strict requirements when to throw which exception
        - strict requirement that VersionNumber is not counting backwards
        - rework interface of asyncRead, removal of TransferFuture and SyncNDRegisterAccessor
        - introduce DeviceBackend::reportException()
        - TransferElement::interrupt() is changed
    
    - Introduce UnifiedBackendTest which allows to test backends according to specifications
    
    - ReadAnyGroup: added readAnyNonBlocking()
    - TransferGroup: ignore exceptions from CopyRegisterDecorators
    - TwoDRegisterAccessor: allow assignment of 2D vector
    
    - LNMBackendChannelAccessor: allow use with wait_for_new_data
    
    - TransferGroup no longer allows to add accessors with wait_for_new_data
    
    - Fix several size and offset checks missing in register accessors of several backends
    - Fix several thread safety issues in LNMBackendBitAccessor
    
    - Fix LNM variables filling the application data buffer too early
    
    - PcieBackend: fix throwing exception for small DMA transfers
    
    - Fix several race conditions in tests
    - Fix several issues reported by clang address/thread sanitizers
    
    - ExceptionDummyBackend: add support for push-type dummy registers
    - DummyBackend: do not clear list of write-callbacks and readonly-addresses in close()
    - Add convenience function to the DummyRegisterAccessor to register write callbacks
    - Allow getting the backend and the path from the DummyRegisterAccessor and DummyMultiplexedRegisterAccessor for convenience
    
    - Remove some of the compatibility layer for long deprecated API (e.g. exception typedefs)