X-Git-Url: http://vcs.maemo.org/git/?a=blobdiff_plain;f=mardrone%2Fdronelib%2Fdronecontrol.h;h=f5c77f76d215b45ce6c50fbfdde32573bcba3164;hb=f19da612ad0dd01a6f6339386625ce2bdc259220;hp=1efc69502077ef7f00283bf7a4fc637f60a97ced;hpb=196f6d56fb98af5849cc98d389de421822d3d5e0;p=mardrone diff --git a/mardrone/dronelib/dronecontrol.h b/mardrone/dronelib/dronecontrol.h index 1efc695..f5c77f7 100644 --- a/mardrone/dronelib/dronecontrol.h +++ b/mardrone/dronelib/dronecontrol.h @@ -42,6 +42,7 @@ class DroneControl : public QObject Q_PROPERTY(float droneSpeed READ droneSpeed NOTIFY navDataChanged) Q_PROPERTY(float droneAltitude READ droneAltitude NOTIFY navDataChanged) Q_PROPERTY(bool emergency READ emergency WRITE setEmergency) + Q_PROPERTY(bool connected READ connected WRITE setConnected NOTIFY connectedChanged) Q_PROPERTY(QString decodedStatus READ decodedStatus NOTIFY statusChanged) Q_PROPERTY(int pwm_motor1 READ pwm_motor1 NOTIFY navDataChanged) @@ -49,35 +50,7 @@ class DroneControl : public QObject Q_PROPERTY(int pwm_motor3 READ pwm_motor1 NOTIFY navDataChanged) Q_PROPERTY(int pwm_motor4 READ pwm_motor1 NOTIFY navDataChanged) -#if 0 - Q_PROPERTY(bool confHaveJoyStick READ confHaveJoyStick NOTIFY configChanged) - Q_PROPERTY(QString joyStickName READ joyStickName NOTIFY statusChanged) - Q_PROPERTY(int joyStickRawAxis1 READ joyStickRawAxis1 NOTIFY joyStickChanged) - Q_PROPERTY(int joyStickRawAxis2 READ joyStickRawAxis2 NOTIFY joyStickChanged) - Q_PROPERTY(int joyStickRawAxis3 READ joyStickRawAxis3 NOTIFY joyStickChanged) - Q_PROPERTY(int joyStickRawAxis4 READ joyStickRawAxis4 NOTIFY joyStickChanged) - Q_PROPERTY(int joyStickRawAxis5 READ joyStickRawAxis5 NOTIFY joyStickChanged) - Q_PROPERTY(int joyStickRawAxis6 READ joyStickRawAxis6 NOTIFY joyStickChanged) - Q_PROPERTY(int joyStickMaxAxis1 READ joyStickMaxAxis1 NOTIFY joyStickChanged) - Q_PROPERTY(int joyStickMaxAxis2 READ joyStickMaxAxis2 NOTIFY joyStickChanged) - Q_PROPERTY(int joyStickMaxAxis3 READ joyStickMaxAxis3 NOTIFY joyStickChanged) - Q_PROPERTY(int joyStickMaxAxis4 READ joyStickMaxAxis4 NOTIFY joyStickChanged) - Q_PROPERTY(int joyStickMaxAxis5 READ joyStickMaxAxis5 NOTIFY joyStickChanged) - Q_PROPERTY(int joyStickMaxAxis6 READ joyStickMaxAxis6 NOTIFY joyStickChanged) - Q_PROPERTY(int joyStickMinAxis1 READ joyStickMinAxis1 NOTIFY joyStickChanged) - Q_PROPERTY(int joyStickMinAxis2 READ joyStickMinAxis2 NOTIFY joyStickChanged) - Q_PROPERTY(int joyStickMinAxis3 READ joyStickMinAxis3 NOTIFY joyStickChanged) - Q_PROPERTY(int joyStickMinAxis4 READ joyStickMinAxis4 NOTIFY joyStickChanged) - Q_PROPERTY(int joyStickMinAxis5 READ joyStickMinAxis5 NOTIFY joyStickChanged) - Q_PROPERTY(int joyStickMinAxis6 READ joyStickMinAxis6 NOTIFY joyStickChanged) - Q_PROPERTY(float joyStickAxis1 READ joyStickAxis1 NOTIFY joyStickChanged) - Q_PROPERTY(float joyStickAxis2 READ joyStickAxis2 NOTIFY joyStickChanged) - Q_PROPERTY(float joyStickAxis3 READ joyStickAxis3 NOTIFY joyStickChanged) - Q_PROPERTY(float joyStickAxis4 READ joyStickAxis4 NOTIFY joyStickChanged) - Q_PROPERTY(float joyStickAxis5 READ joyStickAxis5 NOTIFY joyStickChanged) - Q_PROPERTY(float joyStickAxis6 READ joyStickAxis6 NOTIFY joyStickChanged) - Q_PROPERTY(bool joyStickCalibrate READ joyStickCalibrate WRITE setJoyStickCalibrate) -#endif + // Config variables from QSettings Q_PROPERTY(QString confDroneIp READ confDroneIp WRITE setConfDroneIp NOTIFY configChanged) Q_PROPERTY(QString confActiveUI READ confActiveUI WRITE setConfActiveUI NOTIFY configChanged) @@ -110,36 +83,9 @@ public: // Read only telemetry and drone status QString decodedStatus(); -#ifdef JOYSTICK -// JoyStick configuration - QString joyStickName() { return m_joyStickName; }; - int joyStickRawAxis1() { return m_joyStickRawAxis1; }; - int joyStickRawAxis2() { return m_joyStickRawAxis2; }; - int joyStickRawAxis3() { return m_joyStickRawAxis3; }; - int joyStickRawAxis4() { return m_joyStickRawAxis4; }; - int joyStickRawAxis5() { return m_joyStickRawAxis5; }; - int joyStickRawAxis6() { return m_joyStickRawAxis6; }; - int joyStickMaxAxis1() { return m_joyStickMaxAxis1; }; - int joyStickMaxAxis2() { return m_joyStickMaxAxis2; }; - int joyStickMaxAxis3() { return m_joyStickMaxAxis3; }; - int joyStickMaxAxis4() { return m_joyStickMaxAxis4; }; - int joyStickMaxAxis5() { return m_joyStickMaxAxis5; }; - int joyStickMaxAxis6() { return m_joyStickMaxAxis6; }; - int joyStickMinAxis1() { return m_joyStickMinAxis1; }; - int joyStickMinAxis2() { return m_joyStickMinAxis2; }; - int joyStickMinAxis3() { return m_joyStickMinAxis3; }; - int joyStickMinAxis4() { return m_joyStickMinAxis4; }; - int joyStickMinAxis5() { return m_joyStickMinAxis5; }; - int joyStickMinAxis6() { return m_joyStickMinAxis6; }; - float joyStickAxis1() { return m_joyStickAxis1; }; - float joyStickAxis2() { return m_joyStickAxis2; }; - float joyStickAxis3() { return m_joyStickAxis3; }; - float joyStickAxis4() { return m_joyStickAxis4; }; - float joyStickAxis5() { return m_joyStickAxis5; }; - float joyStickAxis6() { return m_joyStickAxis6; }; - bool joyStickCalibrate() { return m_joyCal; }; - void setJoyStickCalibrate(bool val) { m_joyCal=val;}; -#endif + + bool connected() { return m_connected; }; + void setConnected(bool val_); int pwm_motor1(); int pwm_motor2(); @@ -173,6 +119,7 @@ signals: void configChanged(); void pitchRollChanged(); void joyStickChanged(); + void connectedChanged(); public slots: void navDataUpdated(); void statusUpdated(); @@ -198,38 +145,8 @@ private: bool m_ctrlActive; bool m_useAccel; bool m_useJoyStick; + bool m_connected; -#ifdef JOYSTICK -// Joystick - bool m_haveJoyStick; - QString m_joyStickName; - bool m_joyCal; - int m_joyStickRawAxis1; - int m_joyStickRawAxis2; - int m_joyStickRawAxis3; - int m_joyStickRawAxis4; - int m_joyStickRawAxis5; - int m_joyStickRawAxis6; - float m_joyStickAxis1; - float m_joyStickAxis2; - float m_joyStickAxis3; - float m_joyStickAxis4; - float m_joyStickAxis5; - float m_joyStickAxis6; - int m_joyStickMinAxis1; - int m_joyStickMinAxis2; - int m_joyStickMinAxis3; - int m_joyStickMinAxis4; - int m_joyStickMinAxis5; - int m_joyStickMinAxis6; - int m_joyStickMaxAxis1; - int m_joyStickMaxAxis2; - int m_joyStickMaxAxis3; - int m_joyStickMaxAxis4; - int m_joyStickMaxAxis5; - int m_joyStickMaxAxis6; - int m_joyStickMapAxis[6]; -#endif @@ -241,10 +158,7 @@ private: DroneThread *droneThread; QSettings *droneSettings; -#ifdef HAVE_SDL - QTimer joyStickTimer; - SDL_Joystick *joyStick; -#endif + #ifdef QT_SENSORS QRotationSensor *rSensor; // used for controllind drone with device rotation #endif @@ -266,6 +180,7 @@ public: enum droneState { notInitialized, initialized, + bootstrap, ready, flying @@ -287,6 +202,8 @@ private: QUdpSocket *navSock; // Navigation data receive socket port 5554 QUdpSocket *cmdSock; // Ay command socket port 5556 int state; + int retry; // retry counter + int noreply; // No reply counter incremented every sedcmd, cleared when got reply int seq; // Drone command seq number bool m_fly; bool m_emergency;