X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=src%2Fkernel%2Fao_data.h;h=43bd0e21a235a822d2b1b73b8183cf5592cf0e39;hb=ee38b3bea20f1e3a73e67aea151f9fc6abdc8483;hp=55d82e488c83252682d709d62aae7817ce540bbb;hpb=a87698663f8a5ced468755068a0468755d8f2746;p=fw%2Faltos diff --git a/src/kernel/ao_data.h b/src/kernel/ao_data.h index 55d82e48..43bd0e21 100644 --- a/src/kernel/ao_data.h +++ b/src/kernel/ao_data.h @@ -441,6 +441,29 @@ static inline float ao_convert_accel(int16_t sensor) #endif +#if !HAS_GYRO && HAS_BMX160 + +#define HAS_GYRO 1 + +typedef int16_t gyro_t; /* in raw sample units */ +typedef int16_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) */ +/* Z axis is aligned perpendicular to the board (through) */ + +static inline float ao_convert_gyro(float sensor) +{ + return ao_bmx160_gyro(sensor); +} + +static inline float ao_convert_accel(int16_t sensor) +{ + return ao_bmx160_accel(sensor); +} + +#endif + #if !HAS_MAG && HAS_HMC5883 #define HAS_MAG 1 @@ -500,6 +523,9 @@ ao_data_fill(int head) { #endif #if HAS_ADS131A0X ao_data_ring[head].ads131a0x = ao_ads131a0x_current; +#endif +#if HAS_BMX160 + ao_data_ring[head].bmx160 = ao_bmx160_current; #endif ao_data_ring[head].tick = ao_tick_count; ao_data_head = ao_data_ring_next(head);