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

Dependencies:   NECnfc SpiOLED USBHost mbed

Committer:
okini3939
Date:
Thu May 19 09:05:02 2016 +0000
Revision:
1:d83f8332ebfe
Parent:
0:9f11e7a30865
1st build;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
okini3939 0:9f11e7a30865 1
okini3939 0:9f11e7a30865 2 #define DATA_TYPE_AIR 1
okini3939 0:9f11e7a30865 3 #define DATA_TYPE_GROUND 2
okini3939 0:9f11e7a30865 4
okini3939 0:9f11e7a30865 5 struct AirData {
okini3939 0:9f11e7a30865 6 uint8_t magic[4];
okini3939 0:9f11e7a30865 7 int16_t seq;
okini3939 0:9f11e7a30865 8 int16_t type;
okini3939 0:9f11e7a30865 9 int16_t aileron; // Right stick/L-R
okini3939 0:9f11e7a30865 10 int16_t elevator; // Left stick/D-U
okini3939 0:9f11e7a30865 11 int16_t throttle; // Right stick/D-U
okini3939 0:9f11e7a30865 12 int16_t rudder; // Left stick/L-R
okini3939 0:9f11e7a30865 13 int16_t analog1;
okini3939 0:9f11e7a30865 14 int16_t analog2;
okini3939 0:9f11e7a30865 15 int16_t sw1;
okini3939 0:9f11e7a30865 16 int16_t sw2;
okini3939 0:9f11e7a30865 17 int16_t flags;
okini3939 0:9f11e7a30865 18 uint8_t sum;
okini3939 0:9f11e7a30865 19 } __attribute__((packed));
okini3939 0:9f11e7a30865 20
okini3939 0:9f11e7a30865 21 struct GroundData {
okini3939 0:9f11e7a30865 22 uint8_t magic[4];
okini3939 0:9f11e7a30865 23 int16_t seq;
okini3939 0:9f11e7a30865 24 int16_t type;
okini3939 0:9f11e7a30865 25 int16_t uptime;
okini3939 0:9f11e7a30865 26 int16_t battery;
okini3939 0:9f11e7a30865 27 int16_t current;
okini3939 0:9f11e7a30865 28 int32_t amphour;
okini3939 0:9f11e7a30865 29 int16_t distance1, distance2;
okini3939 0:9f11e7a30865 30 uint8_t gps[60];
okini3939 0:9f11e7a30865 31 uint8_t compass[10];
okini3939 0:9f11e7a30865 32 uint8_t sum;
okini3939 0:9f11e7a30865 33 } __attribute__((packed));
okini3939 0:9f11e7a30865 34
okini3939 0:9f11e7a30865 35 struct Status {
okini3939 0:9f11e7a30865 36 int gps_date, gps_time, gps_lat, gps_lng, gps_h;
okini3939 0:9f11e7a30865 37 int gps_sat, gps_type, gps_flg, gps_lost;
okini3939 0:9f11e7a30865 38 int compass_x, compass_y, compass_z, compass;
okini3939 0:9f11e7a30865 39 int uptime, battery, current, amphour;
okini3939 0:9f11e7a30865 40 int distance1, distance2;
okini3939 0:9f11e7a30865 41 };
okini3939 0:9f11e7a30865 42
okini3939 0:9f11e7a30865 43 void recvRf (struct GroundData *recv_data, int rssi);
okini3939 0:9f11e7a30865 44 int sendRf (struct AirData *send_data);
okini3939 0:9f11e7a30865 45 void pollRf ();
okini3939 0:9f11e7a30865 46 int initRf ();
okini3939 0:9f11e7a30865 47
okini3939 0:9f11e7a30865 48 void parseGps (uint8_t *buf);
okini3939 0:9f11e7a30865 49 void parseCompass (uint8_t *buf);
okini3939 0:9f11e7a30865 50
okini3939 0:9f11e7a30865 51 void initGps ();
okini3939 0:9f11e7a30865 52
okini3939 0:9f11e7a30865 53 void log ();
okini3939 0:9f11e7a30865 54 int initMsd ();
okini3939 0:9f11e7a30865 55