EEROS  0.4.1.0
API for the EEROS Real-Time Robotics Framework
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
SafetyProperties.hpp
Go to the documentation of this file.
1 #ifndef ORG_EEROS_SAFETY_SAFETYPROPORTIES_HPP_
2 #define ORG_EEROS_SAFETY_SAFETYPROPORTIES_HPP_
3 
4 #include <stdint.h>
5 #include <vector>
7 #include <eeros/hal/HAL.hpp>
8 
9 namespace eeros {
10  namespace safety {
11 
12  // Forward declarations
13  class SafetySystem;
14 
16 
17  friend class SafetySystem;
18 
19  public:
21  virtual ~SafetyProperties();
22 
23  void addEventToLevel(int32_t levelId, uint32_t event, int32_t nextLevelId, EventType type);
24  void addEventToLevelAndAbove(int32_t levelId, uint32_t event, int32_t nextLevelId, EventType type);
25  void addEventToLevelAndBelow(int32_t levelId, uint32_t event, int32_t nextLevelId, EventType type);
26  void addEventToAllLevelsBetween(int32_t lowerLevelId, int32_t upperLevelId, uint32_t event, int32_t nextLevelId, EventType type);
28  bool verify();
29 
30  protected:
31  virtual SafetyLevel& level(uint32_t levelId);
32 
33  std::vector<SafetyLevel> levels;
34  std::vector<eeros::hal::PeripheralOutputInterface*> criticalOutputs;
35  std::vector<eeros::hal::PeripheralInputInterface*> criticalInputs;
36  uint32_t entryLevel;
37  };
38 
39  };
40 };
41 
42 #endif // ORG_EEROS_SAFETY_SAFETYPROPORTIES_HPP_
virtual ~SafetyProperties()
Definition: SafetyProperties.cpp:13
Definition: SafetySystem.hpp:19
void addEventToLevelAndBelow(int32_t levelId, uint32_t event, int32_t nextLevelId, EventType type)
Definition: SafetyProperties.cpp:58
bool verify()
Definition: SafetyProperties.cpp:30
std::vector< eeros::hal::PeripheralOutputInterface * > criticalOutputs
Definition: SafetyProperties.hpp:34
Definition: SafetyLevel.hpp:21
void addEventToLevelAndAbove(int32_t levelId, uint32_t event, int32_t nextLevelId, EventType type)
Definition: SafetyProperties.cpp:52
EventType
Definition: SafetyLevel.hpp:19
SafetyProperties()
Definition: SafetyProperties.cpp:9
std::vector< eeros::hal::PeripheralInputInterface * > criticalInputs
Definition: SafetyProperties.hpp:35
SafetyLevel * entryLevelPtr()
Definition: SafetyProperties.cpp:26
type
Definition: Sequencer.hpp:15
uint32_t entryLevel
Definition: SafetyProperties.hpp:36
virtual SafetyLevel & level(uint32_t levelId)
Definition: SafetyProperties.cpp:17
void addEventToAllLevelsBetween(int32_t lowerLevelId, int32_t upperLevelId, uint32_t event, int32_t nextLevelId, EventType type)
Definition: SafetyProperties.cpp:64
void addEventToLevel(int32_t levelId, uint32_t event, int32_t nextLevelId, EventType type)
Definition: SafetyProperties.cpp:48
Definition: SafetyProperties.hpp:15
std::vector< SafetyLevel > levels
Definition: SafetyProperties.hpp:33