summaryrefslogtreecommitdiff
path: root/src/kernel/ao_log.h
diff options
context:
space:
mode:
authorKeith Packard <keithp@keithp.com>2019-04-21 18:30:43 -0700
committerKeith Packard <keithp@keithp.com>2019-04-21 18:30:43 -0700
commit0800970a4c9c6ed38bb76bfed6374093ca16b459 (patch)
tree10aaa87742fb92b4828853f29e80a8587c1383f5 /src/kernel/ao_log.h
parent6a29b84cffcd31b2a74dd14a18aa4790eb4f14f9 (diff)
altos: Add preliminary TeleStatic v3.0 code
This adds the pin definitions and all of the code except for the ads131a04 driver. Signed-off-by: Keith Packard <keithp@keithp.com>
Diffstat (limited to 'src/kernel/ao_log.h')
-rw-r--r--src/kernel/ao_log.h28
1 files changed, 28 insertions, 0 deletions
diff --git a/src/kernel/ao_log.h b/src/kernel/ao_log.h
index 9e8f995e..0ab57448 100644
--- a/src/kernel/ao_log.h
+++ b/src/kernel/ao_log.h
@@ -56,6 +56,7 @@ extern enum ao_flight_state ao_log_state;
#define AO_LOG_FORMAT_EASYMINI2 14 /* 16-byte MS5607 baro only, 3.3V supply, stm32f042 SoC */
#define AO_LOG_FORMAT_TELEMEGA_3 15 /* 32 byte typed telemega records with 32 bit gyro cal and mpu9250 */
#define AO_LOG_FORMAT_EASYMEGA_2 16 /* 32 byte typed telemega records with 32 bit gyro cal, mpu9250 rotated 90° and adxl375 */
+#define AO_LOG_FORMAT_TELESTATIC 17 /* 32 byte typed telestatic records */
#define AO_LOG_FORMAT_NONE 127 /* No log at all */
/* Return the flight number from the given log slot, 0 if none, -slot on failure */
@@ -338,6 +339,33 @@ struct ao_log_firetwo {
} u; /* 32 */
};
+struct ao_log_telestatic {
+ char type; /* 0 */
+ uint8_t csum; /* 1 */
+ uint16_t tick; /* 2 */
+ union { /* 4 */
+ /* AO_LOG_FLIGHT */
+ struct {
+ uint16_t flight; /* 4 */
+ } flight; /* 6 */
+ /* AO_LOG_STATE */
+ struct {
+ uint16_t state; /* 4 */
+ uint16_t reason; /* 6 */
+ } state; /* 8 */
+ /* AO_LOG_SENSOR */
+ struct {
+ uint32_t pressure; /* 4 */
+ uint32_t pressure2; /* 8 */
+ uint32_t thrust; /* 12 */
+ uint32_t mass; /* 16 */
+ uint16_t t_low; /* 20 */
+ uint16_t t_high[4]; /* 22 */
+ } sensor; /* 30 */
+ uint8_t align[28]; /* 4 */
+ } u; /* 32 */
+};
+
struct ao_log_metrum {
char type; /* 0 */
uint8_t csum; /* 1 */