diff options
| author | Keith Packard <keithp@keithp.com> | 2012-06-21 09:51:17 -0700 | 
|---|---|---|
| committer | Keith Packard <keithp@keithp.com> | 2012-06-21 09:51:17 -0700 | 
| commit | 0b5548d6ced67201311e1072d37fbedd3d9929c9 (patch) | |
| tree | 3417356ab65ec8889ce43d19bfc5a3e8bcca28d6 /ao-tools/lib/cc-telemetry.h | |
| parent | 6f421818fd7062f03bfaf9e606d6a4cfdcb13b49 (diff) | |
ao-tools: Support MM telemetry packets in ao-telem
Parse the new packet formats
Signed-off-by: Keith Packard <keithp@keithp.com>
Diffstat (limited to 'ao-tools/lib/cc-telemetry.h')
| -rw-r--r-- | ao-tools/lib/cc-telemetry.h | 54 | 
1 files changed, 53 insertions, 1 deletions
diff --git a/ao-tools/lib/cc-telemetry.h b/ao-tools/lib/cc-telemetry.h index 4e064a97..e849cd3b 100644 --- a/ao-tools/lib/cc-telemetry.h +++ b/ao-tools/lib/cc-telemetry.h @@ -37,7 +37,6 @@ struct ao_telemetry_generic {  #define AO_TELEMETRY_SENSOR_TELEMETRUM	0x01  #define AO_TELEMETRY_SENSOR_TELEMINI	0x02  #define AO_TELEMETRY_SENSOR_TELENANO	0x03 -#define AO_TELEMETRY_SENSOR_MEGAMETRUM	0x08  struct ao_telemetry_sensor {  	uint16_t	serial;		/*  0 */ @@ -151,6 +150,57 @@ struct ao_telemetry_companion {  	/* 32 */  }; +#define AO_TELEMETRY_MEGA_SENSOR	0x08 + +struct ao_telemetry_mega_sensor { +	uint16_t	serial;		/*  0 */ +	uint16_t	tick;		/*  2 */ +	uint8_t		type;		/*  4 */ + +	uint8_t		pad5;		/*  5 */ +	int16_t		accel;		/*  6 Z axis */ + +	int32_t		pres;		/*  8 Pa * 10 */ +	int16_t		temp;		/* 12 °C * 100 */ + +	int16_t		accel_x;	/* 14 */ +	int16_t		accel_y;	/* 16 */ +	int16_t		accel_z;	/* 18 */ + +	int16_t		gyro_x;		/* 20 */ +	int16_t		gyro_y;		/* 22 */ +	int16_t		gyro_z;		/* 24 */ + +	int16_t		mag_x;		/* 26 */ +	int16_t		mag_y;		/* 28 */ +	int16_t		mag_z;		/* 30 */ +	/* 32 */ +}; +	 +#define AO_TELEMETRY_MEGA_DATA		0x09 + +struct ao_telemetry_mega_data { +	uint16_t	serial;		/*  0 */ +	uint16_t	tick;		/*  2 */ +	uint8_t		type;		/*  4 */ + +	uint8_t         state;          /*  5 flight state */ + +	int16_t		v_batt;		/*  6 battery voltage */ +	int16_t		v_pyro;		/*  8 pyro battery voltage */ +	int8_t		sense[6];	/* 10 continuity sense */ + +	int32_t		ground_pres;	/* 16 average pres on pad */ +	int16_t		ground_accel;	/* 20 average accel on pad */ +	int16_t		accel_plus_g;	/* 22 accel calibration at +1g */ +	int16_t		accel_minus_g;	/* 24 accel calibration at -1g */ + +	int16_t         acceleration;   /* 26 m/s² * 16 */ +	int16_t         speed;          /* 28 m/s * 16 */ +	int16_t         height;         /* 30 m */ +	/* 32 */ +}; +  /* #define AO_SEND_ALL_BARO */  #define AO_TELEMETRY_BARO		0x80 @@ -182,6 +232,8 @@ union ao_telemetry_all {  	struct ao_telemetry_location		location;  	struct ao_telemetry_satellite		satellite;  	struct ao_telemetry_companion		companion; +	struct ao_telemetry_mega_sensor		mega_sensor; +	struct ao_telemetry_mega_data		mega_data;  	struct ao_telemetry_baro		baro;  };  | 
