17494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall/*
27494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall $License:
37494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall    Copyright (C) 2011 InvenSense Corporation, All Rights Reserved.
47494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall $
57494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall */
67494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall
77494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall/**
87494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall *  @defgroup MLERROR
97494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall *  @brief  Motion Library - Error definitions.
107494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall *          Definition of the error codes used within the MPL and
117494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall *          returned to the user.
127494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall *          Every function tries to return a meaningful error code basing
137494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall *          on the occuring error condition. The error code is numeric.
147494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall *
157494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall *          The available error codes and their associated values are:
167494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall *          - (0)               INV_SUCCESS
177494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall *          - (32)              INV_ERROR
187494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall *          - (22 / EINVAL)     INV_ERROR_INVALID_PARAMETER
197494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall *          - (1  / EPERM)      INV_ERROR_FEATURE_NOT_ENABLED
207494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall *          - (36)              INV_ERROR_FEATURE_NOT_IMPLEMENTED
217494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall *          - (38)              INV_ERROR_DMP_NOT_STARTED
227494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall *          - (39)              INV_ERROR_DMP_STARTED
237494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall *          - (40)              INV_ERROR_NOT_OPENED
247494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall *          - (41)              INV_ERROR_OPENED
257494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall *          - (19 / ENODEV)     INV_ERROR_INVALID_MODULE
267494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall *          - (12 / ENOMEM)     INV_ERROR_MEMORY_EXAUSTED
277494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall *          - (44)              INV_ERROR_DIVIDE_BY_ZERO
287494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall *          - (45)              INV_ERROR_ASSERTION_FAILURE
297494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall *          - (46)              INV_ERROR_FILE_OPEN
307494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall *          - (47)              INV_ERROR_FILE_READ
317494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall *          - (48)              INV_ERROR_FILE_WRITE
327494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall *          - (49)              INV_ERROR_INVALID_CONFIGURATION
337494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall *          - (52)              INV_ERROR_SERIAL_CLOSED
347494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall *          - (53)              INV_ERROR_SERIAL_OPEN_ERROR
357494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall *          - (54)              INV_ERROR_SERIAL_READ
367494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall *          - (55)              INV_ERROR_SERIAL_WRITE
377494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall *          - (56)              INV_ERROR_SERIAL_DEVICE_NOT_RECOGNIZED
387494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall *          - (57)              INV_ERROR_SM_TRANSITION
397494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall *          - (58)              INV_ERROR_SM_IMPROPER_STATE
407494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall *          - (62)              INV_ERROR_FIFO_OVERFLOW
417494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall *          - (63)              INV_ERROR_FIFO_FOOTER
427494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall *          - (64)              INV_ERROR_FIFO_READ_COUNT
437494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall *          - (65)              INV_ERROR_FIFO_READ_DATA
447494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall *          - (72)              INV_ERROR_MEMORY_SET
457494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall *          - (82)              INV_ERROR_LOG_MEMORY_ERROR
467494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall *          - (83)              INV_ERROR_LOG_OUTPUT_ERROR
477494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall *          - (92)              INV_ERROR_OS_BAD_PTR
487494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall *          - (93)              INV_ERROR_OS_BAD_HANDLE
497494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall *          - (94)              INV_ERROR_OS_CREATE_FAILED
507494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall *          - (95)              INV_ERROR_OS_LOCK_FAILED
517494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall *          - (102)             INV_ERROR_COMPASS_DATA_OVERFLOW
527494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall *          - (103)             INV_ERROR_COMPASS_DATA_UNDERFLOW
537494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall *          - (104)             INV_ERROR_COMPASS_DATA_NOT_READY
547494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall *          - (105)             INV_ERROR_COMPASS_DATA_ERROR
557494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall *          - (107)             INV_ERROR_CALIBRATION_LOAD
567494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall *          - (108)             INV_ERROR_CALIBRATION_STORE
577494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall *          - (109)             INV_ERROR_CALIBRATION_LEN
587494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall *          - (110)             INV_ERROR_CALIBRATION_CHECKSUM
597494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall *          - (111)             INV_ERROR_ACCEL_DATA_OVERFLOW
607494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall *          - (112)             INV_ERROR_ACCEL_DATA_UNDERFLOW
617494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall *          - (113)             INV_ERROR_ACCEL_DATA_NOT_READY
627494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall *          - (114)             INV_ERROR_ACCEL_DATA_ERROR
637494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall *
647494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall *          The available warning codes and their associated values are:
657494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall *          - (115)             INV_WARNING_MOTION_RACE
667494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall *          - (116)             INV_WARNING_QUAT_TRASHED
677494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall *
687494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall *  @{
697494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall *      @file mltypes.h
707494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall *  @}
717494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall */
727494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall
737494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall#ifndef MLTYPES_H
747494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall#define MLTYPES_H
757494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall
767494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall#ifdef __KERNEL__
777494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall#include <linux/types.h>
787494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall#include <asm-generic/errno-base.h>
797494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall#else
807494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall#include "stdint_invensense.h"
817494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall#include <errno.h>
827494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall#endif
837494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall#include <limits.h>
847494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall
857494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall#ifndef REMOVE_INV_ERROR_T
867494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall/*---------------------------
877494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall *    ML Types
887494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall *--------------------------*/
897494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall
907494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall/**
917494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall *  @struct inv_error_t mltypes.h "mltypes"
927494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall *  @brief  The MPL Error Code return type.
937494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall *
947494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall *  @code
957494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall *      typedef unsigned char inv_error_t;
967494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall *  @endcode
977494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall */
987494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall//typedef unsigned char inv_error_t;
997494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgralltypedef int inv_error_t;
1007494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall#endif
1017494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall
1027494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgralltypedef long long inv_time_t;
1037494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall
1047494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall#if !defined __GNUC__ && !defined __KERNEL__
1057494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgralltypedef int8_t   __s8;
1067494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgralltypedef int16_t  __s16;
1077494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgralltypedef int32_t  __s32;
1087494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgralltypedef int32_t  __s64;
1097494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall
1107494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgralltypedef uint8_t   __u8;
1117494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgralltypedef uint16_t  __u16;
1127494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgralltypedef uint32_t  __u32;
1137494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgralltypedef uint64_t  __u64;
1147494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall#elif !defined __KERNEL__
1157494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall#include <sys/types.h>
1167494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall#endif
1177494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall
1187494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall#ifndef __cplusplus
1197494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall#ifndef __KERNEL__
1207494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgralltypedef int_fast8_t bool;
1217494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall
1227494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall#ifndef false
1237494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall#define false 0
1247494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall#endif
1257494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall
1267494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall#ifndef true
1277494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall#define true 1
1287494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall#endif
1297494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall
1307494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall#endif
1317494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall#endif
1327494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall
1337494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall/*---------------------------
1347494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall *    ML Defines
1357494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall *--------------------------*/
1367494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall
1377494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall#ifndef NULL
1387494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall#define NULL 0
1397494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall#endif
1407494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall
1417494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall#ifndef __KERNEL__
1427494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall#ifndef ARRAY_SIZE
1437494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall/* Dimension of an array */
1447494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall#define ARRAY_SIZE(array) (sizeof(array)/sizeof((array)[0]))
1457494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall#endif
1467494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall#endif
1477494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall/* - ML Errors. - */
1487494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall#define ERROR_NAME(x)   (#x)
1497494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall#define ERROR_CHECK_FIRST(first, x) \
1507494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall	{ if (INV_SUCCESS == first) first = x; }
1517494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall
1527494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall#define INV_SUCCESS                       (0)
1537494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall/* Generic Error code.  Proprietary Error Codes only */
1547494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall#define INV_ERROR_BASE                    (0x20)
1557494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall#define INV_ERROR                         (INV_ERROR_BASE)
1567494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall
1577494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall/* Compatibility and other generic error codes */
1587494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall#define INV_ERROR_INVALID_PARAMETER             (EINVAL)
1597494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall#define INV_ERROR_FEATURE_NOT_ENABLED           (EPERM)
1607494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall#define INV_ERROR_FEATURE_NOT_IMPLEMENTED       (INV_ERROR_BASE + 4)
1617494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall#define INV_ERROR_DMP_NOT_STARTED               (INV_ERROR_BASE + 6)
1627494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall#define INV_ERROR_DMP_STARTED                   (INV_ERROR_BASE + 7)
1637494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall#define INV_ERROR_NOT_OPENED                    (INV_ERROR_BASE + 8)
1647494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall#define INV_ERROR_OPENED                        (INV_ERROR_BASE + 9)
1657494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall#define INV_ERROR_INVALID_MODULE                (ENODEV)
1667494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall#define INV_ERROR_MEMORY_EXAUSTED               (ENOMEM)
1677494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall#define INV_ERROR_DIVIDE_BY_ZERO                (INV_ERROR_BASE + 12)
1687494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall#define INV_ERROR_ASSERTION_FAILURE             (INV_ERROR_BASE + 13)
1697494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall#define INV_ERROR_FILE_OPEN                     (INV_ERROR_BASE + 14)
1707494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall#define INV_ERROR_FILE_READ                     (INV_ERROR_BASE + 15)
1717494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall#define INV_ERROR_FILE_WRITE                    (INV_ERROR_BASE + 16)
1727494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall#define INV_ERROR_INVALID_CONFIGURATION         (INV_ERROR_BASE + 17)
1737494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall#define INV_ERROR_NOT_AUTHORIZED                (INV_ERROR_BASE + 18)
1747494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall
1757494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall/* Serial Communication */
1767494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall#define INV_ERROR_SERIAL_CLOSED                 (INV_ERROR_BASE + 20)
1777494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall#define INV_ERROR_SERIAL_OPEN_ERROR             (INV_ERROR_BASE + 21)
1787494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall#define INV_ERROR_SERIAL_READ                   (INV_ERROR_BASE + 22)
1797494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall#define INV_ERROR_SERIAL_WRITE                  (INV_ERROR_BASE + 23)
1807494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall#define INV_ERROR_SERIAL_DEVICE_NOT_RECOGNIZED  (INV_ERROR_BASE + 24)
1817494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall
1827494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall/* SM = State Machine */
1837494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall#define INV_ERROR_SM_TRANSITION                 (INV_ERROR_BASE + 25)
1847494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall#define INV_ERROR_SM_IMPROPER_STATE             (INV_ERROR_BASE + 26)
1857494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall
1867494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall/* Fifo */
1877494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall#define INV_ERROR_FIFO_OVERFLOW                 (INV_ERROR_BASE + 30)
1887494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall#define INV_ERROR_FIFO_FOOTER                   (INV_ERROR_BASE + 31)
1897494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall#define INV_ERROR_FIFO_READ_COUNT               (INV_ERROR_BASE + 32)
1907494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall#define INV_ERROR_FIFO_READ_DATA                (INV_ERROR_BASE + 33)
1917494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall
1927494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall/* Memory & Registers, Set & Get */
1937494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall#define INV_ERROR_MEMORY_SET                    (INV_ERROR_BASE + 40)
1947494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall
1957494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall#define INV_ERROR_LOG_MEMORY_ERROR              (INV_ERROR_BASE + 50)
1967494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall#define INV_ERROR_LOG_OUTPUT_ERROR              (INV_ERROR_BASE + 51)
1977494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall
1987494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall/* OS interface errors */
1997494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall#define INV_ERROR_OS_BAD_PTR                    (INV_ERROR_BASE + 60)
2007494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall#define INV_ERROR_OS_BAD_HANDLE                 (INV_ERROR_BASE + 61)
2017494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall#define INV_ERROR_OS_CREATE_FAILED              (INV_ERROR_BASE + 62)
2027494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall#define INV_ERROR_OS_LOCK_FAILED                (INV_ERROR_BASE + 63)
2037494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall
2047494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall/* Compass errors */
2057494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall#define INV_ERROR_COMPASS_DATA_OVERFLOW         (INV_ERROR_BASE + 70)
2067494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall#define INV_ERROR_COMPASS_DATA_UNDERFLOW        (INV_ERROR_BASE + 71)
2077494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall#define INV_ERROR_COMPASS_DATA_NOT_READY        (INV_ERROR_BASE + 72)
2087494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall#define INV_ERROR_COMPASS_DATA_ERROR            (INV_ERROR_BASE + 73)
2097494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall
2107494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall/* Load/Store calibration */
2117494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall#define INV_ERROR_CALIBRATION_LOAD              (INV_ERROR_BASE + 75)
2127494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall#define INV_ERROR_CALIBRATION_STORE             (INV_ERROR_BASE + 76)
2137494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall#define INV_ERROR_CALIBRATION_LEN               (INV_ERROR_BASE + 77)
2147494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall#define INV_ERROR_CALIBRATION_CHECKSUM          (INV_ERROR_BASE + 78)
2157494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall
2167494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall/* Accel errors */
2177494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall#define INV_ERROR_ACCEL_DATA_OVERFLOW           (INV_ERROR_BASE + 79)
2187494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall#define INV_ERROR_ACCEL_DATA_UNDERFLOW          (INV_ERROR_BASE + 80)
2197494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall#define INV_ERROR_ACCEL_DATA_NOT_READY          (INV_ERROR_BASE + 81)
2207494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall#define INV_ERROR_ACCEL_DATA_ERROR              (INV_ERROR_BASE + 82)
2217494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall
2227494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall/* No Motion Warning States */
2237494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall#define INV_WARNING_MOTION_RACE                 (INV_ERROR_BASE + 83)
2247494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall#define INV_WARNING_QUAT_TRASHED                (INV_ERROR_BASE + 84)
2257494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall#define INV_WARNING_GYRO_MAG                    (INV_ERROR_BASE + 85)
2267494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall
2277494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall#define INV_WARNING_SEMAPHORE_TIMEOUT           (INV_ERROR_BASE + 86)
2287494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall
2297494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall
2307494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall/* For Linux coding compliance */
2317494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall#ifndef __KERNEL__
2327494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall#define EXPORT_SYMBOL(x)
2337494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall#endif
2347494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall
2357494581689b0fc1d8addd016b1c92d74d01f5ad4JP Abgrall#endif				/* MLTYPES_H */
236