segwayrmp_gui.h
Go to the documentation of this file.
00001 #ifndef SEGWAYRMP_GUI_H
00002 #define SEGWAYRMP_GUI_H
00003 
00004 #include <QtGui/QMainWindow>
00005 #include <QtCore/QMutex>
00006 
00007 #include <SDL/SDL.h>
00008 
00009 #include <segwayrmp/segwayrmp.h>
00010 
00011 namespace Ui {
00012 class MainWindow;
00013 }
00014 
00015 class MainWindow : public QMainWindow
00016 {
00017     Q_OBJECT
00018     
00019 public slots:
00020     void onConnectClicked();
00021     void connectionTypeChanged(QString);
00022     void rmpTypeChanged(QString);
00023     void USBListUpdated();
00024     void updateUSBList();
00025 
00026     void updateJoysticks();
00027     void onJoystickChanged(int);
00028     void commandPoll();
00029 
00030     void handleSegwayLog(QString);
00031     void handleSegwayStatus(QString);
00032 
00033     void onResetIntegrators();
00034     void onDisableMotors();
00035     void onRequestTractor();
00036     void onRequestBalance();
00037     void onRequestPowerDown();
00038     void onBalanceLockout();
00039     void onBalanceUnlock();
00040     void onSendConfig();
00041 
00042 signals:
00043     void USBUpdateComplete();
00044     void segwayLog(QString);
00045     void segwayStatus(QString);
00046 
00047 public:
00048     explicit MainWindow(QWidget *parent = 0);
00049     ~MainWindow();
00050 
00051     void onSegwayLog(QString, const std::string&);
00052     void onSegwayStatus(segwayrmp::SegwayStatus::Ptr);
00053     
00054 private:
00055     Ui::MainWindow *ui;
00056     bool connected_;
00057     QVector<QString> usb_devices_;
00058     segwayrmp::SegwayRMP * rmp_;
00059     segwayrmp::InterfaceType interface_type_;
00060     segwayrmp::SegwayRMPType rmp_type_;
00061     SDL_Joystick * joystick_;
00062     QMutex joy_mutex_;
00063     bool running_;
00064 
00065     void updateUSBList_();
00066 
00067 protected:
00068     void closeEvent(QCloseEvent*);
00069 };
00070 
00071 #endif // SEGWAYRMP_GUI_H


libsegwayrmp
Author(s): William Woodall
autogenerated on Wed Aug 26 2015 12:23:18