17494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall/* 27494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall $License: 37494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall Copyright (C) 2011-2012 InvenSense Corporation, All Rights Reserved. 47494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall See included License.txt for License information. 57494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall $ 67494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall */ 77494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall 87494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall#ifndef MLDMP_MAGDISTURB_H__ 97494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall#define MLDMP_MAGDISTURB_H__ 107494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall 117494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall#include "mltypes.h" 127494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall 137494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall#ifdef __cplusplus 147494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrallextern "C" { 157494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall#endif 167494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall 177494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall int inv_check_magnetic_disturbance(unsigned long delta_time, const long *quat, 187494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall const long *compass, const long *gravity); 197494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall 207494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall void inv_track_dip_angle(int mode, float currdip); 217494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall 227494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall inv_error_t inv_enable_magnetic_disturbance(void); 237494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall inv_error_t inv_disable_magnetic_disturbance(void); 247494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall int inv_get_magnetic_disturbance_state(); 257494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall inv_error_t inv_set_magnetic_disturbance(int time_ms); 267494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall inv_error_t inv_disable_dip_tracking(void); 277494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall inv_error_t inv_enable_dip_tracking(void); 287494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall inv_error_t inv_init_magnetic_disturbance(void); 297494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall 307494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall float Mag3ofNormalizedLong(const long *x); 317494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall 327494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall#ifdef __cplusplus 337494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall} 347494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall#endif 357494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall 367494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall 377494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall#endif // MLDMP_MAGDISTURB_H__ 38