From 39475c7b8da4f29936f73ffa2bff112f50ee9328 Mon Sep 17 00:00:00 2001 From: Keith Packard Date: Wed, 28 Aug 2013 21:52:29 -0600 Subject: [PATCH] altos: TM v2 places the MMA6555 upside down compared to Tmega Means we need to invert the data coming out to make it work Signed-off-by: Keith Packard --- src/core/ao_data.h | 4 ++++ src/telemetrum-v2.0/ao_pins.h | 1 + 2 files changed, 5 insertions(+) diff --git a/src/core/ao_data.h b/src/core/ao_data.h index b0f086f8..c873e9d3 100644 --- a/src/core/ao_data.h +++ b/src/core/ao_data.h @@ -272,7 +272,11 @@ typedef int16_t accel_t; /* MMA655X is hooked up so that positive values represent negative acceleration */ #define ao_data_accel(packet) ((packet)->mma655x) +#if AO_MMA655X_INVERT +#define ao_data_accel_cook(packet) (4095 - (packet)->mma655x) +#else #define ao_data_accel_cook(packet) ((packet)->mma655x) +#endif #define ao_data_set_accel(packet, accel) ((packet)->mma655x = (accel)) #define ao_data_accel_invert(accel) (4095 - (accel)) diff --git a/src/telemetrum-v2.0/ao_pins.h b/src/telemetrum-v2.0/ao_pins.h index 04cce99e..a7236b80 100644 --- a/src/telemetrum-v2.0/ao_pins.h +++ b/src/telemetrum-v2.0/ao_pins.h @@ -257,6 +257,7 @@ struct ao_adc { #define AO_MMA655X_SPI_INDEX AO_SPI_1_PB3_PB4_PB5 #define AO_MMA655X_CS_PORT (&stm_gpiob) #define AO_MMA655X_CS_PIN 9 +#define AO_MMA655X_INVERT 1 #define NUM_CMDS 16 -- 2.30.2