summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKeith Packard <keithp@keithp.com>2013-08-28 21:52:29 -0600
committerKeith Packard <keithp@keithp.com>2013-08-28 21:52:29 -0600
commit39475c7b8da4f29936f73ffa2bff112f50ee9328 (patch)
tree456342d77f534b61e9bb99e62d7b70f2a85c0eb4
parentf222e8504bfd01027e3c380c239a2cde2c367d74 (diff)
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 <keithp@keithp.com>
-rw-r--r--src/core/ao_data.h4
-rw-r--r--src/telemetrum-v2.0/ao_pins.h1
2 files changed, 5 insertions, 0 deletions
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