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)
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)
Q_PROPERTY(bool confUseJoyStick READ confUseJoyStick WRITE setConfUseJoyStick NOTIFY configChanged)
Q_PROPERTY(bool confShowJSIndicators READ confShowJSIndicators WRITE setConfShowJSIndicators NOTIFY configChanged)
Q_PROPERTY(bool confFullScreen READ confFullScreen WRITE setConfFullScreen NOTIFY configChanged)
+ Q_PROPERTY(int confSimuMode READ confSimuMode WRITE setConfSimuMode NOTIFY configChanged)
Q_PROPERTY(float confForwardGain READ confForwardGain WRITE setConfForwardGain NOTIFY configChanged)
Q_PROPERTY(float confBackwardGain READ confBackwardGain WRITE setConfBackwardGain NOTIFY configChanged)
Q_PROPERTY(float confLeftGain READ confLeftGain WRITE setConfLeftGain NOTIFY configChanged)
// 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();
bool confUseAccel(); void setConfUseAccel(bool val);
bool confFullScreen(); void setConfFullScreen(bool val);
bool confUseJoyStick(); void setConfUseJoyStick(bool val);
+ int confSimuMode(); void setConfSimuMode(int val);
float confForwardGain(); void setConfForwardGain(float val);
float confBackwardGain(); void setConfBackwardGain(float val);
float confLeftGain(); void setConfLeftGain(float val);
void configChanged();
void pitchRollChanged();
void joyStickChanged();
+ void connectedChanged();
public slots:
void navDataUpdated();
void statusUpdated();
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
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
enum droneState {
notInitialized,
initialized,
+ bootstrap,
ready,
flying
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;