Skip to content

Tags

Tags give the ability to mark specific points in history as being important
  • 03.19.00
    New BACKPORT release 03.19.00
    
    Changes since 03.18.00:
    
    - fix(xdma): exceptions for device errors
    - fix(xdma): backend must not close itself on error
    - fix(sharedDummy): catch exception after previous instance interrupted
    
    - feat: improve exception messages
    
    - chore: Remove broken example plugin (#460)
    - chore: remove non-compiling _DEBUG in deprecated code
  • 03.18.00
    New MINOR release 03.18.00
    
    Changes since 03.17.00:
    
    - fix: allow TransferElement::interrupt() without wait_for_new_data
    - fix(sharedDummy): dead lock due to stale lock
    - fix(sharedDummy): bad alloc in reInitMemory
    - feat: add info on certain logic_errors
    - fix: add missing register name to lmap math plugin exception (#451)
    - fix(UnifiedBackendTest): timeout for recovery
    - feat: add TransferElementAbstractor::interrupt()
    - feat/fix: add missing str impls for get/setAsCooked
    - feat: add NDReigsterAccessorAbstractor::getImpl()
  • 03.17.00
    New MINOR release 03.17.00
    
    Changes since 03.16.00:
    
    - chore: increase minor version
    - feat: userTypeToUserType supports HEX strings
    - feat: allow inspection of DataConsistencyGroup contents
  • 03.16.00
    New MINOR release 03.16.00
    
    Changes since 03.15.03:
    
    - improvement: acc.read throws if in ReadAnyGroup (#438)
    - feat: add type definitions for std::variant with all UserTypes
    - fix: race condition in test
    - fix: compatibility with newer C++ standards
    - fix: remove extra semicolon
    - tests: move DataValidity test from ApplicationCore (#436)
  • 03.15.03
    New PATCH release 03.15.03
    
    Changes since 03.15.02:
    
    - fix: race conditions in SharedDummyBackendPidManagement
    - fix: linking issues with clang-18
    
    - fix: docu for double buffering
    
    - fix(SharedMemoryDummy): increase timeouts in tests
    - fix: increase rebot test timeout
    
    - fix: compiler warning
    - fix: Doxygen warnings
  • 03.15.02
    New PATCH release 03.15.02
    
    Changes since 03.15.01:
    
    - chore: Bump patch version (#427)
    - fix(uio-backend): Add missing include (#426)
  • 03.15.01
    6388257a · fix: add missing include ·
    New PATCH release 03.15.01
    
    Changes since 03.15.00:
    
    - fix: add missing include
  • 03.15.00
    New MINOR release 03.15.00
    
    Changes since 03.14.00:
    
    - feat: implement GenericMuxedInterruptDistributor
    - fix(NumericAddressed): throw when reading from write only register
    - fix: Provide explicit template specialisations (#420)
    - fix(rebot): boost exception escaping when host unreachable (#423)
    - fix: LMAP double buffering unnecessary lock across devices
    - chore: restructure/remove subfolders
    - fix(UnifiedBackendTest): catalogue test disabled for dummy accessors
    - fix(DummyInterruptTriggerAccessor): isReadable returns wrong value
    - fix(rebot): Capture by reference for "this"
    - feat(uio): Add unified backend test
    - fix: Remove read impl. in DummyInterruptTriggerAccessor
    - fix(lmap): Use FixedPointConverter to convert input data (#396)
    - feat(uio): Support symlinked device files (#399)
    - fix(xdma): event files opened too early (#402)
    - feat: introduce async API
    - cleanup: Remove left-overs from DMapFilesParser (#401)
    - fix: LNM constants stuck at very old version number
    - feat(UnifiedBackendTest): newVersionAfterOpen test
    - fix: Memcopy for mmio is bad, do manual copy (#371)
  • 03.14.00
    New MINOR release 03.14.00
    
    Changes since 03.13.01:
    
    NOTE: Breaking API change for backends:
    - feat!(exceptions): keep and report original message.
      Backends now need to override setExceptionImpl() instead of
      setException() and make use of setOpenedAndClearException()
      as well as checkActiveException().
    
    Other (non-breaking) changes:
    
    - fix: rethrow old exceptions by math plugin after recovery
    
    - feat: obtain minimum data type from DataDescriptor
    - feat: convenience functions for string accessors
    
    - fix(UnifiedBackendTest): multiple runtime error cases
    - feat(UnifiedBackendTest): improve reporting to help debugging
    - fix(tests): wrong boost test include (includede vs. dyn_link)
    
    - fix: remove outdated comment
  • 03.13.01
    New PATCH release 03.13.01
    
    Changes since 03.13.00:
    
    - hotfix: rethrow old exceptions by math plugin after recovery
  • 03.13.00
    New MINOR release 03.13.00
    
    Changes since 03.12.00:
    fix(xdma): event files opened in the wrong place
    
    - push type accessors can be requested before opening the device
    - no event file is opened if no push type accessors exist
  • 03.12.00
    New MINOR release 03.12.00
    
    Changes since 03.11.00:
    
    - fix: Drop explicit dependency to glib-2.0
    - chore: move testUnifiedTypeChangingDecorator from CSA
    - fix: solve asan test issues
    - fix: header include syntax
    - docs:  MappedStruct use is discouraged
    - style: code formatting
    - feat(MappedImage): add floating point formats
    - refactor: move MappedImage from ControlSystemAdapter here
    - refactor: move TypeChangingDecorator from ControlSystemAdapter here
    - fix: tsan issues (#367)
    - fix: code formatting (#365)
    - fix: access back() of empty string
    - refactor: Use std::make_exception_ptr() (#361)
    - fix: docu for interrupts in map files
  • 03.11.00
    New MINOR release 03.11.00
    
    Changes since 03.10.00:
    
    - feat: LMAP bitRange plugin
    - feat: writeIfDifferent accounts for DataValidity
    - feat: put DataValidity in iostream
    - fix: lmap push pars (#11910)
    - fix: compiler warning
  • 03.10.00
    New MINOR release 03.10.00
    
    Changes since 03.09.00:
    
    - feat(BREAKING): Changed interruptID to vector, and primay interrupt to uint32_t
    - feat: detect broken background process in testSharedDummyBackendUnified
    
    - docs: clarify documentation of math plugin
    
    - fix: lmap math plugin with push parameter shutdown (#11506)
    - fix: map file interrupts syntax
    - fix: remove async write accessor
    - fix: remove interruptController from startInterruptHandlingThread
    - fix: throw logic error already when unsupported map file is loaded
    - fix: compiler warnings about unused variables
    - fix: missing BOOST_TEST_DYN_LINK in some tests
    
    - chore: remove interruptController from SharedDummyBackend internal interface
    - chore: use exprtk by imported target
  • 03.09.00
    New MINOR release 03.09.00
    
    Changes since 03.08.00:
    
    * use lib install dir defined by GNUInstallDirs
        this should fix library search problems on Tumbleweed
    
    * remove testVirtualFunctionEmplateCompilerFlags
    
    * chore: modernize cmake (#329)
        imported targets
        fix find_package / add_dependency arg order
        handle rpath according to discussion
          i.e. rpath of non-system install location is added for implicit dependencies
        remove explicit definitions for downstream projects
        remove enable-new-dtags, it was used for selecting right rpath variant
        (runpath instead of older rpath) but rpath/runpath is now handled via cmake
        proper cmake Module path
          this is required e.g. for resolution of implicit dependencies
        remove fusion compiler flags
          no longer required since c++11
  • 03.08.00
    New MINOR release 03.08.00
    
    Changes since 03.07.01:
    !!! API breaking change in NumericAddress !!!
      - Change BAR to  BAR() in the calling code!
    
    - Fix warnigns from Doxygen for unsupported tags (#330)
      -- Just escape the strings as pre-formatted
    - cmake: small fixes (#326)
      -- fix problems which cause errors with new cmake concept
    - refactor ExceptionDummyBackend (#328)
      -- introduce in the BackendFactory
      -- remove backend registerer (removes stray printout)
      -- put non-template code into .cc file
    - Wip/11220 fix asan issues (#327)
      -- fix buffer overflow in NumericAddressedBackendRegisterAccessor
      -- Fix implicit memory leaks in LNM plugin mechanism.
         The LNM plugin was holding a shared pointer to itself.
         * Clear list of plugins in RegisterInfo instances held by plugins.
         * Refactoring reduces code duplication and cleans up responsibilities:
           ** Plugin base class does interaction with the catalogue.
            ** Plugin implementation only modifies the info.
    - fix g++-12 compiler warnings (#324)
    - Wip/10307 formal code cleaning ii a (#321)
      -- fix all linter warnings in the library
         * UIO and XDMA backend are exempt because I cannot test them
         * Tests not done yet
    - replace sdm with CDD in the tests and examples. (#322)
    - Fix MathPlugin DataInvalidity flag propagation  (#318)
    - Use CMake to check and set -D_FILE_OFFSET_BITS (#319)
      -- Needed on 32 bit systems
    - Use getwuid/geteuid instead of getlogin() (#314)
      -- getlogin() sometimes seems to have issues to properly retrieve the username
    - lmap: Enable vector operations on math plugin (#316)
    - Enable 64bit io for pcie backend (#315)
      -- The bar offsets start at bit 60 upwards, passing down the offsets
         through off_t requires the 64bit variants of file functions to end up in kernel correctly
    - Don't use 'included' boost test library. (#317)
      -- The boost test library is linked. Using the included version leads to
         a violation of the one definition rule and causes double free corruptions.
    - document dynload usage in packaging scripts
    - call BOOST_CHECK only in main thread (#311)
      -- BOOST.Test is not thread-safe, e.g. BOOST_CHECK macro cannot be called
         concurrently from threads. So we buffer the check results in the main
         thread.
    - Add wireshark dissector for rebot (#308)
    - Add forcePollingRead plugin to doxygen (#307)
    - lmap: Allow CDATA for parameters (#306)
      - This simplifies writing formulas containing lots of <, > and & which
        then don't need XML escaping
    - avoid object slicing in ReadAnyGroup (#301)
      -- In ApplicationCore we frequently pass derived objects of the
         TransferElementAbstractor class with additional data members to the
         ReadAnyGroup constructor. The std::initializer_list uses copy sematics,
         hence the objects were sliced (i.e. copied into base class instances
         which lack the additional data members). By using an
         std::initialiser_list of std::reference_wrapper, only references are
         copied and slicing is avoided at that point.
      -- Note that this change mainly avoids the linter warning. The slicing at
         that place was harmless, since the additional data members are not
         accessed by base class functionality.
  • 03.07.01
    New PATCH release 03.07.01
    
    - bugfix for parsing uint64 values
      was failing due to incorrect range check
  • 03.07.00
    b542cfe1 · increase minor version ·
    New MINOR release 03.07.00
    
    Changes since 03.06.00:
    - fix missing includes
      -- was failing on gcc12 Tumbleweed and  gcc 11 (on Ubuntu 22.04)
    - project-template: make config_generator_project future proof
    - BackendFactory: deprecate old register function signature
    - Wip/8141: Add convenience functions for accessor read/write (#283)
  • 03.06.00
    New MINOR release 03.06.00
    
    Changes since 03.05.00:
    - Introduce UIO backend
    - Fix runtime_error escaping readAny before postRead
    - Fix ambiguity for read/write on 32bit platforms (#296)
    - Refactor testAsyncRead slightly (fixes linter warnings etc.)
  • 03.05.00
    bf5e82c2 · increase minor version ·
    New MINOR release 03.05.00
    
    Changes since 03.04.00:
    
    - lmap: allow using hex integers
    
    - fix double buffering lmap plugin
    - fix typos, formatting and linter warnings
    - fix lmap type hint plugin test in combination with math plugin
    - fix force read only math plugin
    - fix potential memory leak in numeric address backend (#9542)
    
    - replace abi::__cxa_demangle by boost::core::demangle
    
    * commit bf5e82c2ae2890dde1c6375a5b341d5db0172b50
    |
    |     increase minor version
    |
    * commit 13d034e40fba88c9a153544eaa648279238a129d
    |
    |     replace abi::__cxa_demangle by boost::core::demangle
    |
    * commit 14d6a08fb1a17314ee209350c6b250fad871c216
    |
    |     fix typos, formatting and linter warnings
    |
    * commit 7960d10aac9a69cdbf74783009f2ca300ba4ff1e
    |
    |     extend lmap type hint plugin test for combination with math plugin
    |
    |     This is failing right now due to a real bug to be found.
    |
    * commit f1d0650977bb373bd0cbcda80f95f3b10a298d9f
    |
    |     Wip/9799 double buffer tests ext (#290)
    |
    |     * test race condition: slow reader
    |
    |     also: deactivate raw access mode
    |
    |     * fix testSlowReader and add error testing to testUnified
    |
    |     * add failing testConcurrentRead
    |
    |     it exposes the race condition currently not handled correctly in DoubleBufferPlugin
    |
    |     * fix of concurrent read
    |
    |     by simple atomic readerCount
    |     the full concept of sharedmem readerCount can later still be added in,
    |     by exchanging the counter object created in DoubleBufferPlugin constr
    |
    |     * fix for removing AccessMode=raw
    |
    |     add setter in DataDescriptor for removing raw type
    |
    |     * improve safety and usability of double buffer plugin
    |
    |     - make sure control and status registers have length 1
    |     - add support for targetdevice="this"
    |     - add optional "daqNumber" parameter
    |
    |     * add use case of Klaus as test case
    |
    |     - access to extracted channels
    |     - also check usage of "this"
    |     - also check usage of 'daqNumber'
    |
    |     * extend tests for 2D extracted channels
    |
    |     currently failing
    |
    |     * fix for extracted channels with double buffering
    |
    |     - also add checks for matching shapes of buffer0, buffer1
    |     - fixes for tests
    |     - testExtractedChannls1 now succeeding
    |     - testExtractedChannels2 still failing
    |
    |     * make _readerCount shared between instances of Double buffer plugin
    |
    |     since there can be several instances of the plugin pointing to the same double buffered region
    |
    |     * refactoring: make DoubleBufferAccessorDecorator and DoubleBufferPlugin
    |
    |     friends and keep a reference instead of copying all the state. They are tightly tied anyway
    |
    |     * take over the offset and numWords of this double buffered register
    |
    |     as defined in logical name mapping, also for second buffer
    |     So then <targetStartIndex> and <numberOfElements> should make sense.
    |
    |     * ugly prelim fix for wordoffset
    |
    |     which is required in decorateAccessor for doubleBuffering
    |
    |     * refactor saved state for decorateAccessor
    |
    |     changes API for plugins
    |
    |     * update documentation
    |
    |     * add transfergroup testing
    |
    |     (still failing)
    |     also, test another xlmap - direct double buffering on lowest level, and for that introduce new DAQ region
    |
    |     * fix case when combining TransferGroup and double buffer plugin
    |
    |     * remove redirectedChannel + doubleBuffer plugin
    |
    |     since it is not helpful and will cause trouble with TransferGroup
    |
    |     * add double buffering test on hardware
    |
    |     see #10522
    |
    |     * some docu for testingDoubleBufferHw
    |
    |     * introduce parameter testUSleep
    |
    |     for testing double buffering handshake.
    |     will probably remove later again, after data corruption problems understood
    |
    |     * fix race condition in handshake
    |
    |     it could have happened that one reader enables double buffering just while another one is starting to read.
    |     this possibility is now excluded by a mutex in ReaderCount.
    |
    |     * review items
    |
    * commit 4d4151f4269c4c1dca2e724b2a2b0c9368c4efa0
    |
    |     Wip/9551 force read only math plugin (#289)
    |
    |     * add failing test
    |
    |     math plugin and forceReadOnly plugin do not harmonize
    |     see issue #9551
    |     Reason for failure:
    |     - proper register catalogue is only constructed in getRegisterCatalogue().
    |     - There plugins are processed in the end
    |     - but already before, register info from target register is copied as a basis for the new lmap regInfo
    |     - the wrong copy (not having included effects of target Register plugins) is never fixed
    |
    |     * bugfix for #9551
    |
    |     process plugins also when fetching target_info first time
    |
    |     * review items
    |
    * commit 8aea0719ea9e43be0a571084c21d5775d3fe335f
    |
    |     Wip/9439 lmap parse hex int (#288)
    |
    |     * first bugfix implementation
    |     - based on std::stol
    |     - includes tests
    |     * also use better parsing in other places
    |     where string values are converted to some value of type T
    |     * extend test to check for duplicate register name
    |     see issue #9054
    |     test already passes with no further modification
    |
    |     Co-authored-by: Martin Killenberg <martin.killenberg@desy.de>
    |
    * commit 7c913c46f7837a0055b550f7ecdd32a034279034
    |
    |     fix include order (was breaking coding style) (#291)
    |
    * commit 26442e637f71bd3f8f8136663b8cb1d4e38c2881
    |
    |     Wip/9542 numeric address backend shared ploop (#286)
    |
    |     * make test sensitive to the issue
    |       turn back on check in testVerifyMemoryDeleted that was disabled
    |
    |     * new solution: remove whole TransferGroup
    |       on unsubscribe, if the _usageCount says that no more accessors of the transfergroup are needed.
    |       Then, the accessors' shared pointer to the backend, from the accessors in the transfergroup,
    |       are also implicityly removed,  hich breaks the sh-ptr loop.
    |     * add concept overview
    |
    |     Co-authored-by: Dietrich Rothe <dietrich.rothe@desy.de>
    |
    * commit 892bdf707411b939323587247f59c1c78d51bc91
    | Merge: 64b0c755 c97fcf2d
    |
    |     Merge pull request #287 from ChimeraTK/update-project-template
    |
    |     set IMAGE_PATH
    |
    * commit c97fcf2d54e0495ad4083650f62d6a57b1247022
    | Merge: 64b0c755 f70a0bf4
    |
    |     Merge remote-tracking branch 'project-template/master' into update-project-template
    |
    * commit f70a0bf44a17d8c42340b35e5a0b1629c02cf9ee
    
    set IMAGE_PATH
    
    in order to allow that documentation includes images