12 #ifndef ALARM_MANAGER_H
13 #define ALARM_MANAGER_H
20 #include <carma/util/ScopedPthreadMutexLock.h>
22 #include <carma/fault/DagMLNode.h>
23 #include <carma/fault/Evaluators.h>
24 #include <carma/fault/FaultTransport.h>
25 #include <carma/fault/FaultSystemMonitorInfo.h>
27 typedef std::list<std::string> StringList;
35 void attach_alarm_output(DagMLNodePtr output);
42 void set_alarm_enable_state(
const int saNo,
const bool on);
45 void disable_alarms(
const StringList &names);
46 void restore_alarms(
const StringList &names);
49 void perform_cycle(
int frame, FaultTransportWriter &transport);
52 const AlarmManagerMonitorInfo& getMonitorInfo()
const;
56 void evaluate_alarm_output(
int frame, FaultTransportWriter &transport);
59 void set_monitor_point_alarm(
const std::string &name,
bool disable);
60 DagMLNodePtr check_monitor_point(
const std::string &name);
61 void automatic_alarm_reenable(
const int frame);
64 DagMLNodeMap monitor_map_;
65 DagMLNodeMap gather_map_;
66 DagMLNodeMap disabled_map_;
69 AlarmManagerMonitorInfo monitor_;
72 DagMLNodePtr alarm_output_;
75 AlarmEvaluator evaluator_;
The monitor system base class.
Semi-hand-forged extensions to the auto-generated classes for the Control subsystem.
Monitor system base class.
A simple wrapper class that makes use of ::pthread_mutex_t easier in a C++ world. ...