DJI NAZA-M controller (remote controller side) see: https://developer.mbed.org/users/okini3939/notebook/drone/

Dependencies:   NECnfc SpiOLED USBHost mbed

Revision:
0:9f11e7a30865
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/drone.h	Thu May 19 09:03:44 2016 +0000
@@ -0,0 +1,55 @@
+
+#define DATA_TYPE_AIR    1
+#define DATA_TYPE_GROUND 2
+
+struct AirData {
+    uint8_t magic[4];
+    int16_t seq;
+    int16_t type;
+    int16_t aileron;  // Right stick/L-R
+    int16_t elevator; // Left stick/D-U
+    int16_t throttle; // Right stick/D-U
+    int16_t rudder;   // Left stick/L-R
+    int16_t analog1;
+    int16_t analog2;
+    int16_t sw1;
+    int16_t sw2;
+    int16_t flags;
+    uint8_t sum;
+} __attribute__((packed));
+
+struct GroundData {
+    uint8_t magic[4];
+    int16_t seq;
+    int16_t type;
+    int16_t uptime;
+    int16_t battery;
+    int16_t current;
+    int32_t amphour;
+    int16_t distance1, distance2;
+    uint8_t gps[60];
+    uint8_t compass[10];
+    uint8_t sum;
+} __attribute__((packed));
+
+struct Status {
+    int gps_date, gps_time, gps_lat, gps_lng, gps_h;
+    int gps_sat, gps_type, gps_flg, gps_lost;
+    int compass_x, compass_y, compass_z, compass;
+    int uptime, battery, current, amphour;
+    int distance1, distance2;
+};
+
+void recvRf (struct GroundData *recv_data, int rssi);
+int sendRf (struct AirData *send_data);
+void pollRf ();
+int initRf ();
+
+void parseGps (uint8_t *buf);
+void parseCompass (uint8_t *buf);
+
+void initGps ();
+
+void log ();
+int initMsd ();
+