NimbRo ROS Soccer Package
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
diagnostics.h
1 // Diagnostics GUI
2 // Author: Max Schwarz <max.schwarz@uni-bonn.de>
3 
4 #include <rqt_gui_cpp/plugin.h>
5 
6 #include <ros/subscriber.h>
7 #include <actionlib/client/simple_action_client.h>
8 
9 #include <robotcontrol/Diagnostics.h>
10 #include <robotcontrol/FadeTorqueAction.h>
11 
12 #include <QMutex>
13 
14 #include "ui_diagnostics.h"
15 
16 namespace diagnostics
17 {
18 
19 class Diagnostics : public rqt_gui_cpp::Plugin
20 {
21 Q_OBJECT
22 public:
23  Diagnostics();
24  virtual ~Diagnostics();
25 
26  virtual void initPlugin(qt_gui_cpp::PluginContext& context);
27  virtual void shutdownPlugin();
28 
29  void handleDiagnostics(const robotcontrol::DiagnosticsPtr& diag);
30 Q_SIGNALS:
31  void updateRequested();
32 private Q_SLOTS:
33  void update();
34  void handleFade();
35  void handleFadeFeedback(const robotcontrol::FadeTorqueFeedbackConstPtr& fb);
36  void handleFadeDone(const actionlib::SimpleClientGoalState&, const robotcontrol::FadeTorqueResultConstPtr& ptr);
37  void updateFadeButton();
38 private:
39  Ui::Diagnostics m_ui;
40 
41  ros::Subscriber m_sub_diag;
42  QMutex m_mutex;
43  robotcontrol::DiagnosticsPtr m_diag;
44  robotcontrol::FadeTorqueFeedbackConstPtr m_fadeFB;
45 
46  boost::shared_ptr<actionlib::SimpleActionClient<robotcontrol::FadeTorqueAction> > m_torqueClient;
47 
48  bool m_fadeStatus;
49  bool m_fadeDone;
50 };
51 
52 
53 }