- Aug 26, 2022
-
-
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 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
-
- Apr 25, 2022
-
-
Martin Christoph Hierholzer authored
-
- 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.
-
- Apr 04, 2022
-
-
Martin Christoph Hierholzer authored
-
- 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 20, 2021
-
-
Martin Christoph Hierholzer authored
-
- Oct 05, 2021
-
-
Martin Christoph Hierholzer authored
to check whether stepApplication() can execute...
-
- Aug 17, 2021
-
-
Martin Christoph Hierholzer authored
-
- Aug 16, 2021
-
-
Martin Christoph Hierholzer authored
-
- Aug 06, 2021
-
-
Martin Christoph Hierholzer authored
This was a left-over from times when no proper initial value propagation and exception handling was implemented in ApplicationCore. Waiting until the backends are open is anyway not sufficient, since the DeviceModule needs to finish the recovery procedure. If any test would still rely on this (anti-)feature, it would be subject to race conditions. The wait is removed because it prevents important tests for the exception handling specification. In particular, tests which intentionally break devices during startup of the application would not be implementable.
-
- Jul 23, 2021
-
-
Martin Christoph Hierholzer authored
When writing special modules (e.g. the MicroDAQ module) it may be necessary to both override and call this function explicitly.
-
- 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
Require e.g. when needing to report an exception programmatically
-
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
-
Martin Christoph Hierholzer authored
Just use enableDebugDataLoss() to enable debug output.
-
- Jun 09, 2021
-
-
Martin Christoph Hierholzer authored
-
Martin Christoph Hierholzer authored
-
- Jun 08, 2021
-
-
Martin Christoph Hierholzer authored
-
- Jun 04, 2021
-
-
Martin Christoph Hierholzer authored
-
Martin Killenberg authored
- testCircularDependencyFaultyFlags now uses modern AC without defining CS module and overriding defineConnections() # Please enter the commit message for your changes. Lines starting # with '#' will be ignored, and an empty message aborts the commit. # # On branch master # Your branch is up to date with 'origin/master'. # # Changes to be committed: # modified: include/DeviceModule.h # modified: src/DeviceModule.cc # modified: tests/executables_src/testCircularDependencyFaultyFlags.cc # # Untracked files: # build-example-Desktop-Debug/ # build-example2-Desktop-Debug/ # build-example_status_monitor-Desktop-Debug/ # demoBidirectionalVariables/ # example2b/ # include/ApplicationModule_BACKUP_1938963.h # include/ApplicationModule_BASE_1938963.h # include/ApplicationModule_LOCAL_1938963.h # include/ApplicationModule_REMOTE_1938963.h # message.txt # tests/testVirtualHierarchy.xlmap #
-
- Jun 03, 2021
-
-
Martin Christoph Hierholzer authored
-
Martin Christoph Hierholzer authored
-
- Jun 02, 2021
-
-
Martin Christoph Hierholzer authored
-
Martin Killenberg authored
Circular dependency detection: Outputs which are pogrammatically set to faulty are treated like external inputs.
-
Martin Killenberg authored
-
- May 28, 2021
-
-
Martin Killenberg authored
-
- May 27, 2021
-
-
Martin Killenberg authored
-
- May 25, 2021
-
-
Martin Killenberg authored
- Implemented but not tested yet - All existing tests passing
-
- May 21, 2021
-
-
Martin Killenberg authored
-
Martin Killenberg authored
-
Martin Killenberg authored
-
- May 20, 2021
-
-
Martin Killenberg authored
-