DJI NAZA-M controller (remote controller side) see: https://developer.mbed.org/users/okini3939/notebook/drone/
Dependencies: NECnfc SpiOLED USBHost mbed
Diff: drone.h
- 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 (); +