1895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall/*
2895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall $License:
3895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall   Copyright 2011 InvenSense, Inc.
4895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall
5895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall Licensed under the Apache License, Version 2.0 (the "License");
6895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall you may not use this file except in compliance with the License.
7895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall You may obtain a copy of the License at
8895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall
9895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall http://www.apache.org/licenses/LICENSE-2.0
10895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall
11895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall Unless required by applicable law or agreed to in writing, software
12895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall distributed under the License is distributed on an "AS IS" BASIS,
13895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall See the License for the specific language governing permissions and
15895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall limitations under the License.
16895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall  $
17895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall */
18895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall
19895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall/**
20895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall *  @defgroup MLERROR
21895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall *  @brief  Motion Library - Error definitions.
22895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall *          Definition of the error codes used within the MPL and
23895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall *          returned to the user.
24895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall *          Every function tries to return a meaningful error code basing
25895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall *          on the occuring error condition. The error code is numeric.
26895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall *
27895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall *          The available error codes and their associated values are:
28895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall *          - (0)       INV_SUCCESS
29895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall *          - (1)       INV_ERROR
30895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall *          - (2)       INV_ERROR_INVALID_PARAMETER
31895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall *          - (3)       INV_ERROR_FEATURE_NOT_ENABLED
32895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall *          - (4)       INV_ERROR_FEATURE_NOT_IMPLEMENTED
33895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall *          - (6)       INV_ERROR_DMP_NOT_STARTED
34895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall *          - (7)       INV_ERROR_DMP_STARTED
35895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall *          - (8)       INV_ERROR_NOT_OPENED
36895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall *          - (9)       INV_ERROR_OPENED
37895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall *          - (10)      INV_ERROR_INVALID_MODULE
38895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall *          - (11)      INV_ERROR_MEMORY_EXAUSTED
39895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall *          - (12)      INV_ERROR_DIVIDE_BY_ZERO
40895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall *          - (13)      INV_ERROR_ASSERTION_FAILURE
41895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall *          - (14)      INV_ERROR_FILE_OPEN
42895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall *          - (15)      INV_ERROR_FILE_READ
43895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall *          - (16)      INV_ERROR_FILE_WRITE
44895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall *          - (17)      INV_ERROR_INVALID_CONFIGURATION
45895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall *          - (20)      INV_ERROR_SERIAL_CLOSED
46895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall *          - (21)      INV_ERROR_SERIAL_OPEN_ERROR
47895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall *          - (22)      INV_ERROR_SERIAL_READ
48895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall *          - (23)      INV_ERROR_SERIAL_WRITE
49895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall *          - (24)      INV_ERROR_SERIAL_DEVICE_NOT_RECOGNIZED
50895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall *          - (25)      INV_ERROR_SM_TRANSITION
51895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall *          - (26)      INV_ERROR_SM_IMPROPER_STATE
52895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall *          - (30)      INV_ERROR_FIFO_OVERFLOW
53895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall *          - (31)      INV_ERROR_FIFO_FOOTER
54895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall *          - (32)      INV_ERROR_FIFO_READ_COUNT
55895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall *          - (33)      INV_ERROR_FIFO_READ_DATA
56895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall *          - (40)      INV_ERROR_MEMORY_SET
57895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall *          - (50)      INV_ERROR_LOG_MEMORY_ERROR
58895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall *          - (51)      INV_ERROR_LOG_OUTPUT_ERROR
59895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall *          - (60)      INV_ERROR_OS_BAD_PTR
60895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall *          - (61)      INV_ERROR_OS_BAD_HANDLE
61895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall *          - (62)      INV_ERROR_OS_CREATE_FAILED
62895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall *          - (63)      INV_ERROR_OS_LOCK_FAILED
63895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall *          - (70)      INV_ERROR_COMPASS_DATA_OVERFLOW
64895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall *          - (71)      INV_ERROR_COMPASS_DATA_UNDERFLOW
65895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall *          - (72)      INV_ERROR_COMPASS_DATA_NOT_READY
66895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall *          - (73)      INV_ERROR_COMPASS_DATA_ERROR
67895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall *          - (75)      INV_ERROR_CALIBRATION_LOAD
68895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall *          - (76)      INV_ERROR_CALIBRATION_STORE
69895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall *          - (77)      INV_ERROR_CALIBRATION_LEN
70895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall *          - (78)      INV_ERROR_CALIBRATION_CHECKSUM
71895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall *          - (79)      INV_ERROR_ACCEL_DATA_OVERFLOW
72895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall *          - (80)      INV_ERROR_ACCEL_DATA_UNDERFLOW
73895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall *          - (81)      INV_ERROR_ACCEL_DATA_NOT_READY
74895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall *          - (82)      INV_ERROR_ACCEL_DATA_ERROR
75895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall *
76895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall *  @{
77895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall *      @file mltypes.h
78895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall *  @}
79895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall */
80895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall
81895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall#ifndef MLTYPES_H
82895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall#define MLTYPES_H
83895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall
84895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall#ifdef __KERNEL__
85895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall#include <linux/types.h>
86895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall#else
87895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall#include "stdint_invensense.h"
88895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall#endif
89895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall
90895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall/*---------------------------
91895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall    ML Types
92895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall---------------------------*/
93895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall
94895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall/**
95895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall *  @struct inv_error_t mltypes.h "mltypes"
96895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall *  @brief  The MPL Error Code return type.
97895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall *
98895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall *  @code
99895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall *      typedef unsigned char inv_error_t;
100895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall *  @endcode
101895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall */
102895401859313187f15a800e62d43e6bcbf48fadaJP Abgralltypedef unsigned char inv_error_t;
103895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall
104895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall#ifndef __cplusplus
105895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall#ifndef __KERNEL__
106895401859313187f15a800e62d43e6bcbf48fadaJP Abgralltypedef int_fast8_t bool;
107895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall#endif
108895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall#endif
109895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall
110895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall/*---------------------------
111895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall    ML Defines
112895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall---------------------------*/
113895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall
114895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall#ifndef NULL
115895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall#define NULL 0
116895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall#endif
117895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall
118895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall#ifndef TRUE
119895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall#define TRUE 1
120895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall#endif
121895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall
122895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall#ifndef FALSE
123895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall#define FALSE 0
124895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall#endif
125895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall
126895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall#ifndef __KERNEL__
127895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall#ifndef ARRAY_SIZE
128895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall/* Dimension of an array */
129895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall#define ARRAY_SIZE(array) (sizeof(array)/sizeof((array)[0]))
130895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall#endif
131895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall#endif
132895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall/* - ML Errors. - */
133895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall#define ERROR_NAME(x)   (#x)
134895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall#define ERROR_CHECK_FIRST(first, x)                                     \
135895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall	{ if (INV_SUCCESS == first) first = x; }
136895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall
137895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall#define INV_SUCCESS                       (0)
138895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall/* Generic Error code.  Proprietary Error Codes only */
139895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall#define INV_ERROR                         (1)
140895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall
141895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall/* Compatibility and other generic error codes */
142895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall#define INV_ERROR_INVALID_PARAMETER       (2)
143895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall#define INV_ERROR_FEATURE_NOT_ENABLED     (3)
144895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall#define INV_ERROR_FEATURE_NOT_IMPLEMENTED (4)
145895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall#define INV_ERROR_DMP_NOT_STARTED         (6)
146895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall#define INV_ERROR_DMP_STARTED             (7)
147895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall#define INV_ERROR_NOT_OPENED              (8)
148895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall#define INV_ERROR_OPENED                  (9)
149895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall#define INV_ERROR_INVALID_MODULE         (10)
150895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall#define INV_ERROR_MEMORY_EXAUSTED        (11)
151895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall#define INV_ERROR_DIVIDE_BY_ZERO         (12)
152895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall#define INV_ERROR_ASSERTION_FAILURE      (13)
153895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall#define INV_ERROR_FILE_OPEN              (14)
154895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall#define INV_ERROR_FILE_READ              (15)
155895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall#define INV_ERROR_FILE_WRITE             (16)
156895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall#define INV_ERROR_INVALID_CONFIGURATION  (17)
157895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall
158895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall/* Serial Communication */
159895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall#define INV_ERROR_SERIAL_CLOSED          (20)
160895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall#define INV_ERROR_SERIAL_OPEN_ERROR      (21)
161895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall#define INV_ERROR_SERIAL_READ            (22)
162895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall#define INV_ERROR_SERIAL_WRITE           (23)
163895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall#define INV_ERROR_SERIAL_DEVICE_NOT_RECOGNIZED  (24)
164895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall
165895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall/* SM = State Machine */
166895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall#define INV_ERROR_SM_TRANSITION          (25)
167895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall#define INV_ERROR_SM_IMPROPER_STATE      (26)
168895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall
169895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall/* Fifo */
170895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall#define INV_ERROR_FIFO_OVERFLOW          (30)
171895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall#define INV_ERROR_FIFO_FOOTER            (31)
172895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall#define INV_ERROR_FIFO_READ_COUNT        (32)
173895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall#define INV_ERROR_FIFO_READ_DATA         (33)
174895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall
175895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall/* Memory & Registers, Set & Get */
176895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall#define INV_ERROR_MEMORY_SET             (40)
177895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall
178895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall#define INV_ERROR_LOG_MEMORY_ERROR       (50)
179895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall#define INV_ERROR_LOG_OUTPUT_ERROR       (51)
180895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall
181895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall/* OS interface errors */
182895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall#define INV_ERROR_OS_BAD_PTR             (60)
183895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall#define INV_ERROR_OS_BAD_HANDLE          (61)
184895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall#define INV_ERROR_OS_CREATE_FAILED       (62)
185895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall#define INV_ERROR_OS_LOCK_FAILED         (63)
186895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall
187895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall/* Compass errors */
188895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall#define INV_ERROR_COMPASS_DATA_OVERFLOW  (70)
189895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall#define INV_ERROR_COMPASS_DATA_UNDERFLOW (71)
190895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall#define INV_ERROR_COMPASS_DATA_NOT_READY (72)
191895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall#define INV_ERROR_COMPASS_DATA_ERROR     (73)
192895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall
193895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall/* Load/Store calibration */
194895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall#define INV_ERROR_CALIBRATION_LOAD       (75)
195895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall#define INV_ERROR_CALIBRATION_STORE      (76)
196895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall#define INV_ERROR_CALIBRATION_LEN        (77)
197895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall#define INV_ERROR_CALIBRATION_CHECKSUM   (78)
198895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall
199895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall/* Accel errors */
200895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall#define INV_ERROR_ACCEL_DATA_OVERFLOW    (79)
201895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall#define INV_ERROR_ACCEL_DATA_UNDERFLOW   (80)
202895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall#define INV_ERROR_ACCEL_DATA_NOT_READY   (81)
203895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall#define INV_ERROR_ACCEL_DATA_ERROR       (82)
204895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall
205895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall#ifdef INV_USE_LEGACY_NAMES
206895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall#define ML_SUCCESS                       INV_SUCCESS
207895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall#define ML_ERROR                         INV_ERROR
208895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall#define ML_ERROR_INVALID_PARAMETER       INV_ERROR_INVALID_PARAMETER
209895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall#define ML_ERROR_FEATURE_NOT_ENABLED     INV_ERROR_FEATURE_NOT_ENABLED
210895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall#define ML_ERROR_FEATURE_NOT_IMPLEMENTED INV_ERROR_FEATURE_NOT_IMPLEMENTED
211895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall#define ML_ERROR_DMP_NOT_STARTED         INV_ERROR_DMP_NOT_STARTED
212895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall#define ML_ERROR_DMP_STARTED             INV_ERROR_DMP_STARTED
213895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall#define ML_ERROR_NOT_OPENED              INV_ERROR_NOT_OPENED
214895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall#define ML_ERROR_OPENED                  INV_ERROR_OPENED
215895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall#define ML_ERROR_INVALID_MODULE          INV_ERROR_INVALID_MODULE
216895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall#define ML_ERROR_MEMORY_EXAUSTED         INV_ERROR_MEMORY_EXAUSTED
217895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall#define ML_ERROR_DIVIDE_BY_ZERO          INV_ERROR_DIVIDE_BY_ZERO
218895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall#define ML_ERROR_ASSERTION_FAILURE       INV_ERROR_ASSERTION_FAILURE
219895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall#define ML_ERROR_FILE_OPEN               INV_ERROR_FILE_OPEN
220895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall#define ML_ERROR_FILE_READ               INV_ERROR_FILE_READ
221895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall#define ML_ERROR_FILE_WRITE              INV_ERROR_FILE_WRITE
222895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall#define ML_ERROR_INVALID_CONFIGURATION   INV_ERROR_INVALID_CONFIGURATION
223895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall#define ML_ERROR_SERIAL_CLOSED           INV_ERROR_SERIAL_CLOSED
224895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall#define ML_ERROR_SERIAL_OPEN_ERROR       INV_ERROR_SERIAL_OPEN_ERROR
225895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall#define ML_ERROR_SERIAL_READ             INV_ERROR_SERIAL_READ
226895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall#define ML_ERROR_SERIAL_WRITE            INV_ERROR_SERIAL_WRITE
227895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall#define ML_ERROR_SERIAL_DEVICE_NOT_RECOGNIZED  \
228895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall	INV_ERROR_SERIAL_DEVICE_NOT_RECOGNIZED
229895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall#define ML_ERROR_SM_TRANSITION          INV_ERROR_SM_TRANSITION
230895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall#define ML_ERROR_SM_IMPROPER_STATE      INV_ERROR_SM_IMPROPER_STATE
231895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall#define ML_ERROR_FIFO_OVERFLOW          INV_ERROR_FIFO_OVERFLOW
232895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall#define ML_ERROR_FIFO_FOOTER            INV_ERROR_FIFO_FOOTER
233895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall#define ML_ERROR_FIFO_READ_COUNT        INV_ERROR_FIFO_READ_COUNT
234895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall#define ML_ERROR_FIFO_READ_DATA         INV_ERROR_FIFO_READ_DATA
235895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall#define ML_ERROR_MEMORY_SET             INV_ERROR_MEMORY_SET
236895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall#define ML_ERROR_LOG_MEMORY_ERROR       INV_ERROR_LOG_MEMORY_ERROR
237895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall#define ML_ERROR_LOG_OUTPUT_ERROR       INV_ERROR_LOG_OUTPUT_ERROR
238895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall#define ML_ERROR_OS_BAD_PTR             INV_ERROR_OS_BAD_PTR
239895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall#define ML_ERROR_OS_BAD_HANDLE          INV_ERROR_OS_BAD_HANDLE
240895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall#define ML_ERROR_OS_CREATE_FAILED       INV_ERROR_OS_CREATE_FAILED
241895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall#define ML_ERROR_OS_LOCK_FAILED         INV_ERROR_OS_LOCK_FAILED
242895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall#define ML_ERROR_COMPASS_DATA_OVERFLOW  INV_ERROR_COMPASS_DATA_OVERFLOW
243895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall#define ML_ERROR_COMPASS_DATA_UNDERFLOW INV_ERROR_COMPASS_DATA_UNDERFLOW
244895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall#define ML_ERROR_COMPASS_DATA_NOT_READY INV_ERROR_COMPASS_DATA_NOT_READY
245895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall#define ML_ERROR_COMPASS_DATA_ERROR     INV_ERROR_COMPASS_DATA_ERROR
246895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall#define ML_ERROR_CALIBRATION_LOAD       INV_ERROR_CALIBRATION_LOAD
247895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall#define ML_ERROR_CALIBRATION_STORE      INV_ERROR_CALIBRATION_STORE
248895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall#define ML_ERROR_CALIBRATION_LEN        INV_ERROR_CALIBRATION_LEN
249895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall#define ML_ERROR_CALIBRATION_CHECKSUM   INV_ERROR_CALIBRATION_CHECKSUM
250895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall#define ML_ERROR_ACCEL_DATA_OVERFLOW    INV_ERROR_ACCEL_DATA_OVERFLOW
251895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall#define ML_ERROR_ACCEL_DATA_UNDERFLOW   INV_ERROR_ACCEL_DATA_UNDERFLOW
252895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall#define ML_ERROR_ACCEL_DATA_NOT_READY   INV_ERROR_ACCEL_DATA_NOT_READY
253895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall#define ML_ERROR_ACCEL_DATA_ERROR       INV_ERROR_ACCEL_DATA_ERROR
254895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall#endif
255895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall
256895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall/* For Linux coding compliance */
257895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall#ifndef __KERNEL__
258895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall#define EXPORT_SYMBOL(x)
259895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall#endif
260895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall
261895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall/*---------------------------
262895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall    p-Types
263895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall---------------------------*/
264895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall
265895401859313187f15a800e62d43e6bcbf48fadaJP Abgrall#endif				/* MLTYPES_H */
266