projects
/
fw
/
altos
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
altos: Add sinf to math code
[fw/altos]
/
src
/
core
/
ao_data.h
diff --git
a/src/core/ao_data.h
b/src/core/ao_data.h
index b0f086f867285cf111d865b48bd0a684d0fd41d6..5a232885173b368c0a7ee9a6cab7a97a12adc5a7 100644
(file)
--- a/
src/core/ao_data.h
+++ b/
src/core/ao_data.h
@@
-18,6
+18,8
@@
#ifndef _AO_DATA_H_
#define _AO_DATA_H_
#ifndef _AO_DATA_H_
#define _AO_DATA_H_
+#define GRAVITY 9.80665
+
#if HAS_ADC
#define AO_DATA_ADC (1 << 0)
#else
#if HAS_ADC
#define AO_DATA_ADC (1 << 0)
#else
@@
-101,7
+103,7
@@
extern volatile __data uint8_t ao_data_count;
* signaled by the timer tick
*/
#define AO_DATA_WAIT() do { \
* signaled by the timer tick
*/
#define AO_DATA_WAIT() do { \
- ao_sleep(
(void *) &ao_data_count
); \
+ ao_sleep(
DATA_TO_XDATA ((void *) &ao_data_count)
); \
} while (0)
#endif /* AO_DATA_RING */
} while (0)
#endif /* AO_DATA_RING */
@@
-272,7
+274,11
@@
typedef int16_t accel_t;
/* MMA655X is hooked up so that positive values represent negative acceleration */
#define ao_data_accel(packet) ((packet)->mma655x)
/* 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)
#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))
#define ao_data_set_accel(packet, accel) ((packet)->mma655x = (accel))
#define ao_data_accel_invert(accel) (4095 - (accel))
@@
-296,8
+302,8
@@
typedef int16_t accel_t;
#define HAS_GYRO 1
#define HAS_GYRO 1
-typedef int16_t gyro_t;
-typedef int
32_t angle_t;
+typedef int16_t gyro_t;
/* in raw sample units */
+typedef int
16_t angle_t; /* in degrees */
/* Y axis is aligned with the direction of motion (along) */
/* X axis is aligned in the other board axis (across) */
/* Y axis is aligned with the direction of motion (along) */
/* X axis is aligned in the other board axis (across) */