diff options
Diffstat (limited to 'libsensors/mlsdk/mllite/mlcompat.h')
-rw-r--r-- | libsensors/mlsdk/mllite/mlcompat.h | 69 |
1 files changed, 69 insertions, 0 deletions
diff --git a/libsensors/mlsdk/mllite/mlcompat.h b/libsensors/mlsdk/mllite/mlcompat.h new file mode 100644 index 0000000..860ab1e --- /dev/null +++ b/libsensors/mlsdk/mllite/mlcompat.h @@ -0,0 +1,69 @@ +#ifndef __INV_COMPAT_H__ +#define __INV_COMPAT_H__ + +#include "mltypes.h" + +#define INV_GYROS 0x0001 +#define INV_ACCELS 0x0002 +#define INV_ROTATION_MATRIX 0x0003 +#define INV_QUATERNION 0x0004 +#define INV_EULER_ANGLES 0x0005 +#define INV_LINEAR_ACCELERATION 0x0006 +#define INV_LINEAR_ACCELERATION_WORLD 0x0007 +#define INV_GRAVITY 0x0008 +#define INV_ANGULAR_VELOCITY 0x0009 +#define INV_GYRO_CALIBRATION_MATRIX 0x000B +#define INV_ACCEL_CALIBRATION_MATRIX 0x000C +#define INV_GYRO_BIAS 0x000D +#define INV_ACCEL_BIAS 0x000E +#define INV_GYRO_TEMP_SLOPE 0x000F +#define INV_RAW_DATA 0x0011 +#define INV_EULER_ANGLES_X 0x0013 +#define INV_EULER_ANGLES_Y 0x0014 +#define INV_EULER_ANGLES_Z 0x0015 +#define INV_MAGNETOMETER 0x001A +#define INV_MAG_RAW_DATA 0x001C +#define INV_MAG_CALIBRATION_MATRIX 0x001D +#define INV_MAG_BIAS 0x001E +#define INV_HEADING 0x001F +#define INV_MAG_BIAS_ERROR 0x0020 +#define INV_PRESSURE 0x0021 +#define INV_LOCAL_FIELD 0x0022 +#define INV_MAG_SCALE 0x0023 +#define INV_RELATIVE_QUATERNION 0x0024 +#define INV_TEMPERATURE 0x2000 + + +#ifdef __cplusplus +extern "C" { +#endif + + struct filter_long { + int length; + const long *b; + const long *a; + long *x; + long *y; + }; + + inv_error_t inv_pressure_supervisor(void); + + int inv_get_motion_state(void); + + void inv_filter_long(struct filter_long *state, long x); + void inv_q_multf(const float *q1, const float *q2, float *qProd); + void inv_q_addf(float *q1, float *q2, float *qSum); + void inv_q_normalizef(float *q); + void inv_q_norm4(float *q); + void inv_q_invertf(const float *q, float *qInverted); + void inv_matrix_det_incd(double *a, double *b, int *n, int x, int y); + double inv_matrix_detd(double *p, int *n); + + inv_error_t inv_get_array(int dataSet, long *data); + inv_error_t inv_get_float_array(int dataSet, float *data); + +#ifdef __cplusplus +} +#endif + +#endif /* __INV_COMPAT_H__ */
\ No newline at end of file |