- Nov 08, 2022
-
-
Martin Christoph Hierholzer authored
-
Martin Christoph Hierholzer authored
-
Martin Christoph Hierholzer authored
-
-
- ApplicationModule can only be owned by ModuleGroup
-
Move everything inside TestableMode and add decorator helper functions to TestableMode
-
-
While at it, fix linter issues in ModuleGroup as well
-
-
-
- Aug 26, 2022
-
-
Martin Christoph Hierholzer authored
it was anyway dysfunctional and mainly slightly reducing performance.
-
Martin Christoph Hierholzer authored
-
Martin Christoph Hierholzer authored
-
Martin Christoph Hierholzer authored
-
Martin Christoph Hierholzer authored
-
- Aug 02, 2022
-
-
Martin Killenberg authored
The VoidAccessor comes along with the convenience classes VoidInput and VoidOutput, and the TestFacility function getVoid()
-
- Jun 28, 2022
-
-
Martin Christoph Hierholzer authored
This fixes together with another change in DeviceAccess the LNM MathPlugin with push-type variables as parameters.
-
- Jun 15, 2022
-
-
Dietrich Rothe authored
Introduce StatusWithMessage and StatusWithMessageReader which handle this. It is used in DeviceModule error reporting. This is a preparation in order that we can report errors consistently to DOOCS, in DoocsAdapter make StatusAggregator use StatusWithMessage it should output always status code + string on the input side, connects to either status or status + string corresponding string input is found automatically NOTE: DeviceModule API change, the status output variables are renamed from (status, message) to (status, status_message)! update testing of DeviceModule outputs because of API change of DeviceModule (renamed message -> status_message) fix crash and improve message and test - fix crash due to incorrect handling of cast to Derived - improve message output - make existing tests pass - add test for status message of StatusAggregator move StatusWithMessageReaderBase and Status def to ControlSystemAdapter since it is required from ApplicationCore as well as from the adapters
-
Dietrich Rothe authored
makes test move_invalid pass
-
- Apr 27, 2022
-
-
Martin Killenberg authored
-
- Apr 25, 2022
-
-
Martin Christoph Hierholzer authored
-
- Apr 08, 2022
-
-
Martin Christoph Hierholzer authored
Sometimes several long running modules in a row might have caused false alarms. So seen in tests of the llrfctrl server with multiple devices (which require some time to open and initialise).
-
- Apr 05, 2022
-
-
Martin Christoph Hierholzer authored
Simply add timeout to acquiring the testable mode lock and print an error message with the last thread which successfully obtained the thread. Finally throw an exception to help debugging.
-
- Mar 31, 2022
-
-
Martin Christoph Hierholzer authored
Slashes are not allowed in module names, but the DeviceModule crates a status module using the CDD (or alias) as a name. The slashes are now replaced by underscores.
-
- Mar 30, 2022
-
-
Martin Christoph Hierholzer authored
-
- Mar 03, 2022
-
-
Martin Christoph Hierholzer authored
See #7425
-
- Jan 28, 2022
-
-
Martin Christoph Hierholzer authored
-
- Jan 26, 2022
-
-
Martin Christoph Hierholzer authored
It can be static and it may make sense to use it outside modules. The implementation should probably move to a Application member function to make it easier to reach from non-module code.
-
- Oct 05, 2021
-
-
Martin Christoph Hierholzer authored
to check whether stepApplication() can execute...
-
- Jul 21, 2021
-
-
Martin Christoph Hierholzer authored
-
Martin Christoph Hierholzer authored
-
- Jul 20, 2021
-
-
Martin Christoph Hierholzer authored
This generates graphviz code to visualise the connections between modules
-
Martin Christoph Hierholzer authored
-
Martin Christoph Hierholzer authored
-
- Jun 21, 2021
-
-
Martin Christoph Hierholzer authored
The previous implementation using the mutex had two issues: 1. The mutex was locked in a different thread than unlocked (DeviceModule constructor vs. handleException() thread). This results in undefined behaviour. 2. The boost::shared_mutex::lock_shared() function is not an interruption point, so applications did not terminate while waiting for initial values. (boost::latch::wait() is an interruption point.)
-
- Jun 14, 2021
-
-
Martin Killenberg authored
-
Martin Christoph Hierholzer authored
-
- Jun 11, 2021
-
-
Martin Christoph Hierholzer authored
This will print always a lot of information if one or more devices is unavailable at server start. There is a high risk that these messages distract from the actual issue (broken hardware), hence it is better to remove this.
-
- Jun 09, 2021
-
-
Martin Christoph Hierholzer authored
-
Martin Christoph Hierholzer authored
-