16 #include <boost/shared_ptr.hpp>
20 #include <carma/util/AutoPthreadQuitAndJoinGroup.h>
22 #include <carma/fault/AlarmControlROH.h>
23 #include <carma/fault/FaultSystemParser.h>
24 #include <carma/fault/FaultSystemMonitorInfo.h>
25 #include <carma/fault/FaultTransport.h>
26 #include <carma/fault/AlarmManager.h>
27 #include <carma/fault/EmailManager.h>
28 #include <carma/fault/BFManager.h>
30 typedef boost::shared_ptr<carma::monitor::CarmaMonitorSystem> CmsPtr;
31 typedef boost::shared_ptr<BFManager> BFManagerPtr;
32 typedef boost::shared_ptr<AlarmManager> AlarmManagerPtr;
33 typedef boost::shared_ptr<EmailManager> EmailManagerPtr;
42 void load_alarm_xml_file(
const std::string &name);
43 void load_bf_xml_file(
const std::string &name);
45 void setInputCms(
const std::string &name);
46 void setOutputCms(
const std::string &name);
48 CmsPtr getInputCms()
const;
49 CmsPtr getOutputCms()
const;
52 void attach_to_alarm(CmsPtr inputCms, CmsPtr outputCms);
55 void attach_to_blankflag(CmsPtr inputCms, CmsPtr outputCms);
58 void start_email_thread(
const std::string &emailTab,
const int emailHoldoffSecs);
61 void start_update_thread();
64 void CORBA_setNoiseState(
int num,
bool on);
65 void CORBA_setDriveErrorPreference(
int num,
enum carma::fault::EffectPreference pref);
66 void CORBA_setMonitorErrorPreference(
int num,
enum carma::fault::EffectPreference pref);
67 void CORBA_setOfflineErrorPreference(
int num,
enum carma::fault::EffectPreference pref);
68 void CORBA_setPhaselockErrorPreference(
int num,
enum carma::fault::EffectPreference pref);
69 void CORBA_disableAlarms(
const StringList &names);
70 void CORBA_restoreAlarms(
const StringList &names);
71 void CORBA_setAlarmEnable(
int num,
bool on);
72 void CORBA_setAlarmDeadmanSecs(
int seconds);
77 void run_update_mainloop();
78 void checkMonitorFrameNumber(
int inputCmsFrame);
79 bool writeFaultSystemErrorState();
80 void writeFaultSystemMonitorPoints();
81 void updateAlarmInfo(
const int frame);
84 AutoPthreadQuitAndJoinGroup threadGroup_;
85 carma::fault::AlarmControlROH alarmROH_;
86 struct timespec lastAlarmCall_;
88 int alarmDeadmanSeconds_;
89 int prevInputCmsFrame_;
90 static void updateThreadEP(DagManager &fs);
95 FaultSystemParser bfParser_;
96 FaultSystemParser alarmParser_;
98 BFManagerPtr bf_manager_;
99 AlarmManagerPtr alarm_manager_;
100 EmailManagerPtr email_manager_;
102 FaultSystemMonitorInfo monitor_;
103 FaultTransportWriter transport_;
The monitor system base class.