altos: TM v2 places the MMA6555 upside down compared to Tmega
authorKeith Packard <keithp@keithp.com>
Thu, 29 Aug 2013 03:52:29 +0000 (21:52 -0600)
committerKeith Packard <keithp@keithp.com>
Thu, 29 Aug 2013 03:52:29 +0000 (21:52 -0600)
Means we need to invert the data coming out to make it work

Signed-off-by: Keith Packard <keithp@keithp.com>
src/core/ao_data.h
src/telemetrum-v2.0/ao_pins.h

index b0f086f867285cf111d865b48bd0a684d0fd41d6..c873e9d34d7ebe6ad1b9aaf7912051d3a4099c22 100644 (file)
@@ -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))
 
index 04cce99e6813e54729e485dcce0629e99eb19ea5..a7236b808eb1f466ecc14494dec144bfe07ec922 100644 (file)
@@ -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