summaryrefslogtreecommitdiffstats
path: root/libsensors_iio/software/core/mpl/mlsupervisor_9axis.h
blob: 37793819446f1d5c17ea820292d3070a67c8bd3f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
/*
 $License:
    Copyright (C) 2011 InvenSense Corporation, All Rights Reserved.
 $
 */

/******************************************************************************
 *
 * $Id: mlsupervisor_9axis.h 6123 2011-09-30 18:21:11Z mcaramello $
 *
 *****************************************************************************/

#ifndef MLDMP_MLSUPERVISOR_H__
#define MLDMP_MLSUPERVISOR_H__

#include "mltypes.h"

//#include "temp_comp.h"

struct inv_fusion_t {
    int compassCount;
    long quat[4];
};

#ifdef __cplusplus
extern "C" {
#endif

inv_error_t inv_enable_9x_fusion(void);
inv_error_t inv_disable_9x_fusion(void);

inv_error_t inv_enable_9x_fusion_legacy(void);
inv_error_t inv_disable_9x_fusion_legacy(void);

inv_error_t inv_enable_9x_fusion_new(void);
inv_error_t inv_disable_9x_fusion_new(void);

inv_error_t inv_enable_9x_fusion_basic(void);
inv_error_t inv_disable_9x_fusion_basic(void);

inv_error_t inv_enable_9x_fusion_external(void);
inv_error_t inv_disable_9x_fusion_external(void);

inv_error_t inv_enable_maintain_heading(void);
inv_error_t inv_disable_maintain_heading(void);

void inv_set_compass_state(long compassState, long accState, 
                           unsigned long deltaTime,
                           int magDisturb, int gotBias,
                           int *new_state,
                           int *new_accuracy);

#ifdef __cplusplus
}
#endif

#endif // MLDMP_MLSUPERVISOR_H__