X-Git-Url: https://git.gag.com/?p=fw%2Faltos;a=blobdiff_plain;f=src%2Fdrivers%2Fao_bmx160.h;fp=src%2Fdrivers%2Fao_bmx160.h;h=2b7e7bd768c27caaf51e88af3372a3688024d4ea;hp=265be995d3952fd081e939ff864145f967bf1727;hb=28add4f616dbaf06a1ca3234b81c68c4a299d056;hpb=a87698663f8a5ced468755068a0468755d8f2746 diff --git a/src/drivers/ao_bmx160.h b/src/drivers/ao_bmx160.h index 265be995..2b7e7bd7 100644 --- a/src/drivers/ao_bmx160.h +++ b/src/drivers/ao_bmx160.h @@ -19,6 +19,8 @@ #ifndef _AO_BMX160_H_ #define _AO_BMX160_H_ +#include + struct ao_bmx160_sample { int16_t mag_x; int16_t mag_y; @@ -250,4 +252,18 @@ ao_bmx160_init(void); #define BMM150_REPZ 0x52 #define BMM150_REPZ_VALUE(n) ((n) -1) +#define BMX160_GYRO_FULLSCALE ((float) 2000 * M_PI/180.0) + +static inline float +ao_bmx160_gyro(float sensor) { + return sensor * ((float) (BMX160_GYRO_FULLSCALE / 32767.0)); +} + +#define BMX160_ACCEL_FULLSCALE 16 + +static inline float +ao_bmx160_accel(int16_t sensor) { + return (float) sensor * ((float) (BMX160_ACCEL_FULLSCALE * GRAVITY / 32767.0)); +} + #endif /* _BMX160_H_ */