eeros_architecture:safety_system:properties
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| eeros_architecture:safety_system:properties [2024/06/10 09:45] – [Critical Inputs and Outputs] ursgraf | eeros_architecture:safety_system:properties [2026/04/12 14:47] (current) – [Entry Level] ursgraf | ||
|---|---|---|---|
| Line 35: | Line 35: | ||
| <code c> | <code c> | ||
| SafetyLevel slOff(" | SafetyLevel slOff(" | ||
| + | SafetyLevel slBoot(" | ||
| SafetyLevel slIinitializing(" | SafetyLevel slIinitializing(" | ||
| SafetyLevel slRunning(" | SafetyLevel slRunning(" | ||
| | | ||
| addLevel(slOff); | addLevel(slOff); | ||
| + | addLevel(slBoot); | ||
| addLevel(slIinitializing); | addLevel(slIinitializing); | ||
| addLevel(slRunning); | addLevel(slRunning); | ||
| Line 50: | Line 52: | ||
| SafetyEvent seStartRunning(" | SafetyEvent seStartRunning(" | ||
| - | | + | |
| slIinitializing.addEvent(seStartRunning, | slIinitializing.addEvent(seStartRunning, | ||
| slRunning.addEvent(seShutDown, | slRunning.addEvent(seShutDown, | ||
| Line 77: | Line 79: | ||
| Define actions for the safety levels. Each level can cause no or one action. | Define actions for the safety levels. Each level can cause no or one action. | ||
| <code cpp> | <code cpp> | ||
| - | | + | |
| - | privateContext-> | + | privateContext-> |
| }); | }); | ||
| </ | </ | ||
| The method // | The method // | ||
| + | |||
| + | === Entry and Exit Actions === | ||
| + | You also have the possibility to define an action which is executed when a safety level is entered. That means when the safety system switches to this level. | ||
| + | <code cpp> | ||
| + | slIinitializing.setEntryAction([this](SafetyContext* privateContext) { | ||
| + | // do anything | ||
| + | }); | ||
| + | </ | ||
| + | |||
| + | Further, you can define an action which is executed when a safety level is left. That means when the safety system switches from this level to another level. | ||
| + | <code cpp> | ||
| + | slIinitializing.setExitAction([this](SafetyContext* privateContext) { | ||
| + | // do anything | ||
| + | }); | ||
| + | </ | ||
| === Counter === | === Counter === | ||
| Line 95: | Line 112: | ||
| As a last point, you have to specify with which level the system has to start. | As a last point, you have to specify with which level the system has to start. | ||
| <code c> | <code c> | ||
| - | setEntryLevel(slOff); | + | setEntryLevel(slBoot); |
| </ | </ | ||
eeros_architecture/safety_system/properties.1718005538.txt.gz · Last modified: by ursgraf
