ArDrone SDK 1.8 added
[mardrone] / mardrone / ARDrone_SDK_Version_1_8_20110726 / Examples / Android / ardrone / project / jni / navdata.h
diff --git a/mardrone/ARDrone_SDK_Version_1_8_20110726/Examples/Android/ardrone/project/jni/navdata.h b/mardrone/ARDrone_SDK_Version_1_8_20110726/Examples/Android/ardrone/project/jni/navdata.h
new file mode 100644 (file)
index 0000000..290f251
--- /dev/null
@@ -0,0 +1,76 @@
+#ifndef _NAVDATA_H_
+#define _NAVDATA_H_
+
+#include <ardrone_api.h>
+#include <VP_Os/vp_os_types.h>
+
+typedef struct _instance_navdata_t 
+{
+               uint32_t ardrone_state;
+               bool_t flyingState;             /// Tells whether ARDrone is flying or not
+               bool_t commandState;            /// ???
+               bool_t comWatchdog;             /// Tells if we are loosing communication with ARDrone
+               /// Be aware that at startup, comWatchdog is set to 1 because no input reach the drone yet
+               bool_t emergencyLanding;        /// Tells ARDrone landed because of a serious reason
+               bool_t timerElapsed;        /// Tells ARDrone can take off again
+               bool_t startPressed;            /// Start button state by ARDrone
+               bool_t bootstrap;                       /// mykonos is starting
+               
+               unsigned int remainingBattery; /// Remaining battery in mV
+               
+               float pitch;                    /// cabrement en radians (nez vers le bas negatif)
+               float roll;                             /// roulis en radians (pencher a gauche = negatif)
+               float yaw;                              /// lacet en radians (tourner vers la gauche = negatif)
+               
+               float trimPitch;                        /// trim on pitch
+               float trimRoll;                         /// trim on roll
+               float trimYaw;                          /// trim on yaw
+               
+               float vx;                               // Horizontal velocity on x-axis
+               float vy;                               // Horizontal velocity on y-axis
+               float vz;                               // Horizontal velocity on y-axis
+               
+               float altitude;                 /// altitude en m
+               
+               int nbDetectedOpponent; /// Does we see an opponent?
+               int     xOpponent[4];                   /// Position (in screen space) of the opponent
+               int yOpponent[4];
+               int     widthOpponent[4];                       /// Position (in screen space) of the opponent
+               int heightOpponent[4];  
+               int distOpponent[4];            /// Distance from the opponent
+               
+               // Video num frames
+               int videoNumFrames;
+               
+               // Camera parameters compute by detection
+               float detectCameraRot[3][3];
+               float detectCameraHomo[3][3];
+               float detectCameraTrans[3];
+               int       detectTagIndex;
+               
+               // Type of detection
+               int   detectionType;
+
+               // Camera parameters compute by drone
+               float droneCameraRot[3][3];
+               float droneCameraTrans[3];
+               
+               bool_t cutoutProblem;
+               bool_t cameraProblem;
+               bool_t adcVersionProblem;
+               bool_t adcProblem;
+               bool_t ultrasoundProblem;
+               bool_t visionProblem;
+               bool_t anglesProblem;
+               bool_t vbatLowProblem;
+               bool_t motorsProblem;
+               bool_t userEmergency;
+               
+               bool_t videoThreadOn;
+               bool_t navdataThreadOn;
+} instance_navdata_t;
+C_RESULT ardrone_navdata_reset_data(instance_navdata_t *nav);
+C_RESULT ardrone_navdata_get_data(instance_navdata_t *data);
+C_RESULT ardrone_navdata_write_to_file(bool_t enable);
+
+#endif // _NAVDATA_H_