#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 */
} 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
#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
/* 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 */
#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
#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
#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
#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
#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
#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
#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
#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
#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