altos: Split out TeleMini v3 log/telem labeling
authorKeith Packard <keithp@keithp.com>
Mon, 20 Feb 2017 01:39:21 +0000 (17:39 -0800)
committerKeith Packard <keithp@keithp.com>
Mon, 20 Feb 2017 19:16:53 +0000 (11:16 -0800)
Allow the ground software to know which TeleMini version is in use,
even though they are very similar with only ADC values differing.

Signed-off-by: Keith Packard <keithp@keithp.com>
src/kernel/ao_log.h
src/kernel/ao_telemetry.c
src/kernel/ao_telemetry.h
src/telemini-v2.0/ao_pins.h
src/telemini-v3.0/ao_pins.h

index 13eb05bfd7ee4c32aed8120909a779a2440cb69a..ad28e5cac41a5a4d205485e168810f743478c195 100644 (file)
@@ -47,10 +47,11 @@ extern __pdata enum ao_flight_state ao_log_state;
 #define AO_LOG_FORMAT_TELEMEGA_OLD     5       /* 32 byte typed telemega records */
 #define AO_LOG_FORMAT_EASYMINI         6       /* 16-byte MS5607 baro only, 3.0V supply */
 #define AO_LOG_FORMAT_TELEMETRUM       7       /* 16-byte typed telemetrum records */
-#define AO_LOG_FORMAT_TELEMINI         8       /* 16-byte MS5607 baro only, 3.3V supply */
+#define AO_LOG_FORMAT_TELEMINI2                8       /* 16-byte MS5607 baro only, 3.3V supply, cc1111 SoC */
 #define AO_LOG_FORMAT_TELEGPS          9       /* 32 byte telegps records */
 #define AO_LOG_FORMAT_TELEMEGA         10      /* 32 byte typed telemega records with 32 bit gyro cal */
 #define AO_LOG_FORMAT_DETHERM          11      /* 16-byte MS5607 baro only, no ADC */
+#define AO_LOG_FORMAT_TELEMINI3                12      /* 16-byte MS5607 baro only, 3.3V supply, stm32f042 SoC */
 #define AO_LOG_FORMAT_NONE             127     /* No log at all */
 
 extern __code uint8_t ao_log_format;
index 15085bf4d0b10599d6c8b972eae3d66f7c91cc2c..fa8178240e45b97f60c71717eb77d76fd3e3e69c 100644 (file)
@@ -270,7 +270,7 @@ ao_send_mini(void)
        __xdata struct ao_data *packet = (__xdata struct ao_data *) &ao_data_ring[ao_data_ring_prev(ao_sample_data)];
 
        telemetry.generic.tick = packet->tick;
-       telemetry.generic.type = AO_TELEMETRY_MINI;
+       telemetry.generic.type = AO_SEND_MINI;
 
        telemetry.mini.state = ao_flight_state;
 
index c0f5e3c532cb7ff7c46796a1dd9aa292b48e02ac..45aaeb075c2f6d7deb9b0ddda379d37a5feb30b9 100644 (file)
@@ -270,7 +270,8 @@ struct ao_telemetry_metrum_data {
        /* 32 */
 };
 
-#define AO_TELEMETRY_MINI              0x10
+#define AO_TELEMETRY_MINI2             0x10    /* CC1111 based */
+#define AO_TELEMETRY_MINI3             0x11    /* STMF042 based */
 
 struct ao_telemetry_mini {
        uint16_t        serial;         /*  0 */
index 4f1d36dfd2a41f8520af03e75982a97effc534a5..d2aa4c2d75e494836acf0b0396a8b5a47f8cef0b 100644 (file)
 #define AO_IGNITER_FIRE_TIME   AO_MS_TO_TICKS(50)
 #define AO_IGNITER_CHARGE_TIME AO_MS_TO_TICKS(2000)
 
-#define AO_SEND_MINI
-#define AO_LOG_FORMAT          AO_LOG_FORMAT_TELEMINI
+#define AO_SEND_MINI           AO_TELEMETRY_MINI2
+#define AO_LOG_FORMAT          AO_LOG_FORMAT_TELEMINI2
 
 /*
  * ADC
index 031c1d18bf692e4216819a5d547560d3571c41a9..b4f2a6304d1574bba8b8919e9fe8a9f6b9bd6c4c 100644 (file)
@@ -48,7 +48,8 @@
 
 #define PACKET_HAS_SLAVE       1
 
-#define AO_LOG_FORMAT          AO_LOG_FORMAT_EASYMINI
+#define AO_LOG_FORMAT          AO_LOG_FORMAT_TELEMINI3
+#define AO_CONFIG_DEFAULT_FLIGHT_LOG_MAX       ((uint32_t) 112 * (uint32_t) 1024)
 
 #define HAS_BOOT_RADIO         0
 
@@ -59,6 +60,7 @@
 #define HAS_FLIGHT             1
 #define HAS_EEPROM             1
 #define HAS_TELEMETRY          1
+#define AO_SEND_MINI           AO_TELEMETRY_MINI3
 #define HAS_APRS               0
 #define HAS_LOG                        1
 #define USE_INTERNAL_FLASH     0