-
03.19.0015ca32a9 · ·
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.0003b488dd · ·
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.00908b77fc · ·
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.00d3583cde · ·
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.0389464f46 · ·
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.025e7b5cf2 · ·
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.0065e7f53c · ·
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.002d676770 · ·
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.010a40933c · ·
New PATCH release 03.13.01 Changes since 03.13.00: - hotfix: rethrow old exceptions by math plugin after recovery
-
03.13.0034895c92 · ·
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.001e1e2874 · ·
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.001a1355ff · ·
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.00cf012a9d · ·
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.000ff2d90d · ·
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.003b731248 · ·
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.01c07b7af0 · ·
New PATCH release 03.07.01 - bugfix for parsing uint64 values was failing due to incorrect range check
-
03.07.00b542cfe1 · ·
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.0027bbd3f2 · ·
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.00bf5e82c2 · ·
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