summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKeith Packard <keithp@keithp.com>2017-02-19 17:39:21 -0800
committerKeith Packard <keithp@keithp.com>2017-02-20 11:16:53 -0800
commit59ac667c4ae14e0fa699fb0f398d31763a237646 (patch)
tree695f52a3b72a77f6df12863f6bbf7840ed773941
parentc75736c9cd8f869c257a3024efda843cf0edf2a3 (diff)
altos: Split out TeleMini v3 log/telem labeling
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>
-rw-r--r--src/kernel/ao_log.h3
-rw-r--r--src/kernel/ao_telemetry.c2
-rw-r--r--src/kernel/ao_telemetry.h3
-rw-r--r--src/telemini-v2.0/ao_pins.h4
-rw-r--r--src/telemini-v3.0/ao_pins.h4
5 files changed, 10 insertions, 6 deletions
diff --git a/src/kernel/ao_log.h b/src/kernel/ao_log.h
index 13eb05bf..ad28e5ca 100644
--- a/src/kernel/ao_log.h
+++ b/src/kernel/ao_log.h
@@ -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;
diff --git a/src/kernel/ao_telemetry.c b/src/kernel/ao_telemetry.c
index 15085bf4..fa817824 100644
--- a/src/kernel/ao_telemetry.c
+++ b/src/kernel/ao_telemetry.c
@@ -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;
diff --git a/src/kernel/ao_telemetry.h b/src/kernel/ao_telemetry.h
index c0f5e3c5..45aaeb07 100644
--- a/src/kernel/ao_telemetry.h
+++ b/src/kernel/ao_telemetry.h
@@ -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 */
diff --git a/src/telemini-v2.0/ao_pins.h b/src/telemini-v2.0/ao_pins.h
index 4f1d36df..d2aa4c2d 100644
--- a/src/telemini-v2.0/ao_pins.h
+++ b/src/telemini-v2.0/ao_pins.h
@@ -115,8 +115,8 @@
#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
diff --git a/src/telemini-v3.0/ao_pins.h b/src/telemini-v3.0/ao_pins.h
index 031c1d18..b4f2a630 100644
--- a/src/telemini-v3.0/ao_pins.h
+++ b/src/telemini-v3.0/ao_pins.h
@@ -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