summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/easymega-v2.0/ao_pins.h14
-rw-r--r--src/kernel/ao_data.h4
-rw-r--r--src/kernel/ao_log.h3
3 files changed, 19 insertions, 2 deletions
diff --git a/src/easymega-v2.0/ao_pins.h b/src/easymega-v2.0/ao_pins.h
index 6217b5d2..399654f0 100644
--- a/src/easymega-v2.0/ao_pins.h
+++ b/src/easymega-v2.0/ao_pins.h
@@ -69,7 +69,7 @@
#define AO_CONFIG_MAX_SIZE 1024
#define LOG_ERASE_MARK 0x55
#define LOG_MAX_ERASE 128
-#define AO_LOG_FORMAT AO_LOG_FORMAT_TELEMEGA
+#define AO_LOG_FORMAT AO_LOG_FORMAT_EASYMEGA_2
#define HAS_EEPROM 1
#define USE_INTERNAL_FLASH 0
@@ -306,6 +306,18 @@ struct ao_adc {
#define AO_MPU9250_SPI_CS_PIN 13
#define HAS_IMU 1
+#define ao_data_along(packet) ((packet)->mpu9250.accel_x)
+#define ao_data_across(packet) (-(packet)->mpu9250.accel_y)
+#define ao_data_through(packet) ((packet)->mpu9250.accel_z)
+
+#define ao_data_roll(packet) ((packet)->mpu9250.gyro_x)
+#define ao_data_pitch(packet) (-(packet)->mpu9250.gyro_y)
+#define ao_data_yaw(packet) ((packet)->mpu9250.gyro_z)
+
+#define ao_data_mag_along(packet) ((packet)->mpu9250.mag_y)
+#define ao_data_mag_across(packet) (-(packet)->mpu9250.mag_x)
+#define ao_data_mag_through(packet) ((packet)->mpu9250.mag_z)
+
/* ADXL375 */
#define HAS_ADXL375 1
diff --git a/src/kernel/ao_data.h b/src/kernel/ao_data.h
index 3918f4e0..dda5de4c 100644
--- a/src/kernel/ao_data.h
+++ b/src/kernel/ao_data.h
@@ -382,6 +382,7 @@ typedef int16_t angle_t; /* in degrees */
/* X axis is aligned in the other board axis (across) */
/* Z axis is aligned perpendicular to the board (through) */
+#ifndef ao_data_along
#define ao_data_along(packet) ((packet)->mpu9250.accel_y)
#define ao_data_across(packet) ((packet)->mpu9250.accel_x)
#define ao_data_through(packet) ((packet)->mpu9250.accel_z)
@@ -389,6 +390,7 @@ typedef int16_t angle_t; /* in degrees */
#define ao_data_roll(packet) ((packet)->mpu9250.gyro_y)
#define ao_data_pitch(packet) ((packet)->mpu9250.gyro_x)
#define ao_data_yaw(packet) ((packet)->mpu9250.gyro_z)
+#endif
static inline float ao_convert_gyro(float sensor)
{
@@ -425,9 +427,11 @@ typedef int16_t ao_mag_t; /* in raw sample units */
* sensors. Also, the Z axis is flipped in sign.
*/
+#ifndef ao_data_mag_along
#define ao_data_mag_along(packet) ((packet)->mpu9250.mag_x)
#define ao_data_mag_across(packet) ((packet)->mpu9250.mag_y)
#define ao_data_mag_through(packet) ((packet)->mpu9250.mag_z)
+#endif
#endif
diff --git a/src/kernel/ao_log.h b/src/kernel/ao_log.h
index a9715962..04f00d3e 100644
--- a/src/kernel/ao_log.h
+++ b/src/kernel/ao_log.h
@@ -55,6 +55,7 @@ extern enum ao_flight_state ao_log_state;
#define AO_LOG_FORMAT_TELEFIRETWO 13 /* 32-byte test stand data */
#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_NONE 127 /* No log at all */
/* Return the flight number from the given log slot, 0 if none, -slot on failure */
@@ -474,7 +475,7 @@ struct ao_log_gps {
} 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
+#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
typedef struct ao_log_mega ao_log_type;
#endif