]> git.gag.com Git - fw/altos/commitdiff
altos: Add 30V pyro log/telem options for telemega v7.0
authorKeith Packard <keithp@keithp.com>
Sat, 22 Mar 2025 21:47:09 +0000 (14:47 -0700)
committerKeith Packard <keithp@keithp.com>
Sat, 22 Mar 2025 21:47:09 +0000 (14:47 -0700)
We switched the pyro voltage dividers so that the max range increased
from 15V to 30V. This means new log and telem formats.

Signed-off-by: Keith Packard <keithp@keithp.com>
12 files changed:
src/kernel/ao_log.h
src/kernel/ao_telemetry.c
src/kernel/ao_telemetry.h
src/telemega-v0.1/ao_pins.h
src/telemega-v1.0/ao_pins.h
src/telemega-v2.0/ao_pins.h
src/telemega-v3.0/ao_pins.h
src/telemega-v4.0/ao_pins.h
src/telemega-v5.0/ao_pins.h
src/telemega-v6.0/ao_pins.h
src/telemega-v7.0-seeed/ao_pins.h
src/telemega-v7.0/ao_pins.h

index b8aa6a8c589541759f50a34885cff2edf53897e5..f905f62a0996158bbce23d2c8746b173b775c6ec 100644 (file)
@@ -64,6 +64,7 @@ extern enum ao_flight_state ao_log_state;
 #define AO_LOG_FORMAT_TELEMEGA_6       22      /* 32 byte typed telemega records with 32 bit gyro cal, bmi088 and mmc5983 */
 #define AO_LOG_FORMAT_EASYTIMER_2      23      /* 32 byte typed easytimer records with 32 bit gyro cal, bmi088 and mmc5983 */
 #define AO_LOG_FORMAT_EASYMEGA_3       24      /* 32 byte typed telemega records with 32 bit gyro cal, bmi088 and mmc5983 */
+#define AO_LOG_FORMAT_TELEMEGA_7       25      /* 32 byte typed telemega records with 32 bit gyro cal, bmi088 and mmc5983, 30V max pyro */
 #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 */
@@ -593,7 +594,7 @@ struct ao_log_timer {
        } u;
 };
 
-#if AO_LOG_FORMAT == AO_LOG_FOMAT_TELEMEGA_OLD || AO_LOG_FORMAT == AO_LOG_FORMAT_TELEMEGA || AO_LOG_FORMAT == AO_LOG_FORMAT_TELEMEGA_3 || AO_LOG_FORMAT == AO_LOG_FORMAT_EASYMEGA_2 || AO_LOG_FORMAT == AO_LOG_FORMAT_TELEMEGA_4 || AO_LOG_FORMAT == AO_LOG_FORMAT_TELEMEGA_5 || AO_LOG_FORMAT == AO_LOG_FORMAT_TELEMEGA_6 || AO_LOG_FORMAT == AO_LOG_FORMAT_EASYMEGA_3
+#if AO_LOG_FORMAT == AO_LOG_FOMAT_TELEMEGA_OLD || AO_LOG_FORMAT == AO_LOG_FORMAT_TELEMEGA || AO_LOG_FORMAT == AO_LOG_FORMAT_TELEMEGA_3 || AO_LOG_FORMAT == AO_LOG_FORMAT_EASYMEGA_2 || AO_LOG_FORMAT == AO_LOG_FORMAT_TELEMEGA_4 || AO_LOG_FORMAT == AO_LOG_FORMAT_TELEMEGA_5 || AO_LOG_FORMAT == AO_LOG_FORMAT_TELEMEGA_6 || AO_LOG_FORMAT == AO_LOG_FORMAT_EASYMEGA_3 || AO_LOG_FORMAT == AO_LOG_FORMAT_TELEMEGA_7
 typedef struct ao_log_mega ao_log_type;
 #endif
 
index 8586efd548f59cce09f4aa4b0de43a439471ba5b..1e0828334fd467c3ae29cb640b75f8d82b0a814c 100644 (file)
@@ -142,7 +142,7 @@ ao_send_mega_sensor(void)
 #if AO_LOG_NORMALIZED
 #if AO_LOG_FORMAT == AO_LOG_FORMAT_TELEMEGA_5
        telemetry.generic.type = AO_TELEMETRY_MEGA_NORM_MPU6000_MMC5983;
-#elif AO_LOG_FORMAT == AO_LOG_FORMAT_TELEMEGA_6
+#elif AO_LOG_FORMAT == AO_LOG_FORMAT_TELEMEGA_6 || AO_LOG_FORMAT == AO_LOG_FORMAT_TELEMEGA_7
        telemetry.generic.type = AO_TELEMETRY_MEGA_NORM_BMI088_MMC5983;
 #else
 #error unknown normalized log type
index 983a99b8fd1cba7ef4adf0b4d41a047f9bb5f1e8..3f5f270b523d7df4759d1854c601ce90575ca649 100644 (file)
@@ -204,7 +204,8 @@ struct ao_telemetry_mega_sensor {
        /* 32 */
 };
 
-#define AO_TELEMETRY_MEGA_DATA         0x09
+#define AO_TELEMETRY_MEGA_DATA_15V             0x09    /* 100k / 27k */
+#define AO_TELEMETRY_MEGA_DATA_30V             0x15    /* 100k / 12k */
 
 struct ao_telemetry_mega_data {
        uint16_t        serial;         /*  0 */
index c16b33a03975475c34076cfa911f11bceb346c6e..f702ca18059f0b315c3b65de3c1e2be37366a389 100644 (file)
@@ -69,6 +69,7 @@
 #define LOG_ERASE_MARK                         0x55
 #define LOG_MAX_ERASE                          128
 #define AO_LOG_FORMAT                          AO_LOG_FORMAT_TELEMEGA
+#define AO_TELEMETRY_MEGA_DATA AO_TELEMETRY_MEGA_DATA_15V
 
 #define HAS_EEPROM             1
 #define USE_INTERNAL_FLASH     0
index ce258471e6ff853dc1b7d3af76f07c07135ed2d7..833fd90e6cb5504756b18cbccf8df6b1de9bdae4 100644 (file)
@@ -69,6 +69,7 @@
 #define LOG_ERASE_MARK                         0x55
 #define LOG_MAX_ERASE                          128
 #define AO_LOG_FORMAT                          AO_LOG_FORMAT_TELEMEGA
+#define AO_TELEMETRY_MEGA_DATA AO_TELEMETRY_MEGA_DATA_15V
 
 #define HAS_EEPROM             1
 #define USE_INTERNAL_FLASH     0
index c8d365c6459c7890cc86a1eb55b8de79259fc88e..6e0d1c803d2dddbc966a16a10b6a546d8eb6b03e 100644 (file)
@@ -69,6 +69,7 @@
 #define LOG_ERASE_MARK                         0x55
 #define LOG_MAX_ERASE                          128
 #define AO_LOG_FORMAT                          AO_LOG_FORMAT_TELEMEGA
+#define AO_TELEMETRY_MEGA_DATA AO_TELEMETRY_MEGA_DATA_15V
 
 #define HAS_EEPROM             1
 #define USE_INTERNAL_FLASH     0
index c68699e03bf92b2091a1f9f4b18604129cf89dfa..6d599112059e53a6ca83fd0e69cab1fb1457517f 100644 (file)
@@ -69,6 +69,7 @@
 #define LOG_ERASE_MARK                         0x55
 #define LOG_MAX_ERASE                          128
 #define AO_LOG_FORMAT                          AO_LOG_FORMAT_TELEMEGA_3
+#define AO_TELEMETRY_MEGA_DATA AO_TELEMETRY_MEGA_DATA_15V
 
 #define HAS_EEPROM             1
 #define USE_INTERNAL_FLASH     0
index 7fa6d83528f5fd3f8fa216a8aadb23d91dbd4a96..47d53f282ef5c270de37076c5d0364ff1fea5a45 100644 (file)
@@ -69,6 +69,7 @@
 #define LOG_ERASE_MARK                         0x55
 #define LOG_MAX_ERASE                          128
 #define AO_LOG_FORMAT                          AO_LOG_FORMAT_TELEMEGA_4
+#define AO_TELEMETRY_MEGA_DATA AO_TELEMETRY_MEGA_DATA_15V
 
 #define HAS_EEPROM             1
 #define USE_INTERNAL_FLASH     0
index 5901eeae272fd838b497e5470d34a42f718f4b71..a38b8b1eefdc29c72a1d1d46302fba1c8e2cc91a 100644 (file)
@@ -71,6 +71,7 @@
 #define LOG_ERASE_MARK                         0x55
 #define LOG_MAX_ERASE                          128
 #define AO_LOG_FORMAT                          AO_LOG_FORMAT_TELEMEGA_5
+#define AO_TELEMETRY_MEGA_DATA AO_TELEMETRY_MEGA_DATA_15V
 #define AO_LOG_NORMALIZED                      1
 
 #define HAS_EEPROM             1
index 8e9be45d8c5831c0e1d0727d16f49a3f49feff3b..3a95be08a2f100b64a68b62eabe8c5a2df11754d 100644 (file)
@@ -71,6 +71,7 @@
 #define LOG_ERASE_MARK                         0x55
 #define LOG_MAX_ERASE                          128
 #define AO_LOG_FORMAT                          AO_LOG_FORMAT_TELEMEGA_6
+#define AO_TELEMETRY_MEGA_DATA AO_TELEMETRY_MEGA_DATA_15V
 #define AO_LOG_NORMALIZED                      1
 
 #define HAS_EEPROM             1
index 3617c62658624f01439574654b23985b838a0fe6..06fa08da0d05232ad228d75c30e9872521020be8 100644 (file)
@@ -74,7 +74,8 @@
 #define AO_CONFIG_MAX_SIZE                     1024
 #define LOG_ERASE_MARK                         0x55
 #define LOG_MAX_ERASE                          128
-#define AO_LOG_FORMAT                          AO_LOG_FORMAT_TELEMEGA_6
+#define AO_LOG_FORMAT                          AO_LOG_FORMAT_TELEMEGA_7
+#define AO_TELEMETRY_MEGA_DATA                         AO_TELEMETRY_MEGA_DATA_30V
 #define AO_LOG_NORMALIZED                      1
 
 #define HAS_EEPROM             1
index 5a61c361533bf4fc9ebaf61fdb294c0308992c95..984426199ff10a1db9c64abfaf780fe3fcd2987d 100644 (file)
@@ -72,7 +72,8 @@
 #define AO_CONFIG_MAX_SIZE                     1024
 #define LOG_ERASE_MARK                         0x55
 #define LOG_MAX_ERASE                          128
-#define AO_LOG_FORMAT                          AO_LOG_FORMAT_TELEMEGA_6
+#define AO_LOG_FORMAT                          AO_LOG_FORMAT_TELEMEGA_7
+#define AO_TELEMETRY_MEGA_DATA                         AO_TELEMETRY_MEGA_DATA_30V
 #define AO_LOG_NORMALIZED                      1
 
 #define HAS_EEPROM             1