1 /*
2  $License:
3     Copyright (C) 2011-2012 InvenSense Corporation, All Rights Reserved.
4     See included License.txt for License information.
5  $
6  */
7 #ifndef INV_MESSAGE_LAYER_H__
8 #define INV_MESSAGE_LAYER_H__
9 
10 #include "mltypes.h"
11 
12 #ifdef __cplusplus
13 extern "C" {
14 #endif
15 
16 /* Level 0 Type Messages */
17 /** A motion event has occured */
18 #define INV_MSG_MOTION_EVENT                (0x01)
19 /** A no motion event has occured */
20 #define INV_MSG_NO_MOTION_EVENT             (0x02)
21 /** A setting of the gyro bias has occured */
22 #define INV_MSG_NEW_GB_EVENT                (0x04)
23 /** A setting of the compass bias has occured */
24 #define INV_MSG_NEW_CB_EVENT                (0x08)
25 /** A setting of the accel bias has occured */
26 #define INV_MSG_NEW_AB_EVENT                (0x10)
27 /** Sensor fusion has switched from 9- to 6-axes
28     because of a magnetic disturbance */
29 #define INV_MSG_6X_SF_EVENT    (0x020)
30 /** Compass accuracy has dropped has dropped to 0
31     because of a magnetic disturbance */
32 #define INV_MSG_HEADING_NOT_ACCURATE_EVENT  (0x40)
33 /** A setting of the factory gyro bias has occured */
34 #define INV_MSG_NEW_FGB_EVENT            (0x80)
35 /** A setting of the factory accel bias has occured */
36 #define INV_MSG_NEW_FAB_EVENT            (0x100)
37 
38 #ifdef WIN32
39 #define INV_MSG_NEW_DMP_QUAT_WRITE_EVENT    (0x200)
40 #endif
41 
42 void inv_set_message(long set, long clear, int level);
43 long inv_get_message_level_0(int clear);
44 
45 #ifdef __cplusplus
46 }
47 #endif
48 
49 #endif  // INV_MESSAGE_LAYER_H__
50