Go to the documentation of this file.00001 #ifndef MRP2_ANALYZER_H
00002 #define MRP2_ANALYZER_H
00003
00004 #include <ros/ros.h>
00005 #include <diagnostic_aggregator/analyzer.h>
00006 #include <diagnostic_aggregator/status_item.h>
00007 #include <diagnostic_msgs/DiagnosticStatus.h>
00008 #include <pluginlib/class_list_macros.h>
00009 #include <string>
00010
00011 namespace diagnostic_aggregator {
00012
00013 class MRP2Analyzer : public Analyzer
00014 {
00015 public:
00016 MRP2Analyzer();
00017
00018 ~MRP2Analyzer();
00019
00020 bool init(const std::string base_name, const ros::NodeHandle &n);
00021
00022 bool match(const std::string name);
00023
00024 bool analyze(const boost::shared_ptr<StatusItem> item);
00025
00026 std::vector<boost::shared_ptr<diagnostic_msgs::DiagnosticStatus> > report();
00027
00028 std::string getPath() const { return motors_path_; }
00029
00030 std::string getName() const { return "MRP2Analyzer"; }
00031
00032 private:
00033
00034 boost::shared_ptr<StatusItem> motor_l_item_;
00035 boost::shared_ptr<StatusItem> motor_r_item_;
00036 boost::shared_ptr<StatusItem> battery_item_;
00037 boost::shared_ptr<StatusItem> lights_item_;
00038
00039 std::string motors_path_, l_motor_path_, r_motor_path_, battery_path_, lights_path_, power_board_name_;
00040
00041 bool runstop_hit_, stall_l_, stall_r_, motors_controller_halt_, batt_high_, batt_low_, lights_controller_halt_, has_initialized_, has_motor_l_data_, has_motor_r_data_, has_battery_data_, has_lights_data_;
00042 };
00043
00044 }
00045 #endif //MRP2_ANALYZER_H