Video record function added
[mardrone] / mardrone / dronelib / dronecontrol.h
index 248b391..5924368 100644 (file)
@@ -44,6 +44,10 @@ class DroneControl : public QObject
     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(QString logFileName READ logFileName WRITE setLogFileName)
+    Q_PROPERTY(QString errorString READ errorString WRITE setErrorString NOTIFY errorStringChanged)
+    Q_PROPERTY(bool  recordLog READ recordLog WRITE setRecordLog)
+    Q_PROPERTY(unsigned int   logSeq   READ logSeq WRITE setLogSeq)
 
     Q_PROPERTY(int pwm_motor1 READ pwm_motor1 NOTIFY navDataChanged)
     Q_PROPERTY(int pwm_motor2 READ pwm_motor1 NOTIFY navDataChanged)
@@ -72,16 +76,19 @@ public:
     explicit DroneControl();
 
 
-    float pitch();    void setPitch(float val_);
-    float roll() ;    void setRoll(float val_);
-    float yaw() ;     void setYaw(float val_);
-    float altitude(); void setAltitude(float val_) ;
-    float vVelocity();void setVVelocity(float val_) ;
-    int   enabled() ; void setEnabled(int val_) ;
-    bool  emergency();void setEmergency(bool val_) ;
-    bool  fly() ;     void setFly(bool val_) ;
+    float pitch();     void setPitch(float val_);
+    float roll() ;     void setRoll(float val_);
+    float yaw() ;      void setYaw(float val_);
+    float altitude();  void setAltitude(float val_) ;
+    float vVelocity(); void setVVelocity(float val_) ;
+    int   enabled() ;  void setEnabled(int val_) ;
+    bool  emergency(); void setEmergency(bool val_) ;
+    bool  fly() ;      void setFly(bool val_) ;
     bool  ctrlActive();void setCtrlActive(bool val_) ;
-
+    bool  recordLog(); void setRecordLog(bool val_) ;
+    unsigned int   logSeq() ;  void setLogSeq(int val_) ;
+    QString logFileName();     void setLogFileName(QString val_);
+    QString errorString();     void setErrorString(QString val_);
 // Read only telemetry and drone status
     QString decodedStatus();
 
@@ -102,6 +109,7 @@ public:
 //Config variables
  QString confDroneIp();      void setConfDroneIp(QString ip);
  QString confActiveUI();     void setConfActiveUI(QString ui);
+
  bool    confShowDebug();    void setConfShowDebug(bool val);
  bool    confShowHorizon();  void setConfShowHorizon(bool val);
  bool    confShowJSIndicators();  void setConfShowJSIndicators(bool val);
@@ -122,6 +130,7 @@ signals:
     void pitchRollChanged();
     void joyStickChanged();
     void connectedChanged();
+    void errorStringChanged();
 public slots:
     void navDataUpdated();
     void statusUpdated();
@@ -148,9 +157,7 @@ private:
     bool  m_useAccel;
     bool  m_useJoyStick;
     bool  m_connected;
-
-
-
+    QString m_errorString;
 
     float m_ctrlTrsh;  // accel controll treshold
 
@@ -161,6 +168,7 @@ private:
     DroneThread *droneThread;
     QSettings *droneSettings;
 
+
 #ifdef QT_SENSORS
     QRotationSensor *rSensor; // used for controllind drone with device rotation
 #endif
@@ -178,6 +186,9 @@ public:
     void sendNav(QString cmd);
     void sendCmd(QString cmd);
     NavData *navData() { return &nd; };
+    QString getLogFileName();
+    unsigned int getLogSeq();
+    bool getRecordLog();
 
     enum droneState {
         notInitialized,
@@ -191,12 +202,20 @@ public slots:
     void navDataReady();
     void timer();
     void setFly(bool fly);
+    void setRecordLog(bool);
+    void setLogFileName(QString);
+    void setLogSeq(unsigned int);
     void setEmergency(bool emg);
     void setDroneControl(float pitch,float roll,float yaw,float vv);
     void setDroneGain(float fgain,float bgain,float lgain,float rgain);
 
 private:
 
+    bool recordLog;
+    unsigned int logSeq;
+    QString logFileName;
+    QFile *logFile;
+
      QHostAddress droneHost;  // Ip address of the drone
      QTimer *stateTimer;
      volatile bool stopped;