From: Keith Packard Date: Thu, 29 Aug 2013 03:52:29 +0000 (-0600) Subject: altos: TM v2 places the MMA6555 upside down compared to Tmega X-Git-Tag: 1.2.9.4~126 X-Git-Url: https://git.gag.com/?p=fw%2Faltos;a=commitdiff_plain;h=39475c7b8da4f29936f73ffa2bff112f50ee9328 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 --- 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