149ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow/* 249ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow $License: 349ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow Copyright (C) 2011 InvenSense Corporation, All Rights Reserved. 449ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow $ 549ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow */ 649ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow 749ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow/** 849ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow * @defgroup MLERROR 949ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow * @brief Motion Library - Error definitions. 1049ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow * Definition of the error codes used within the MPL and 1149ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow * returned to the user. 1249ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow * Every function tries to return a meaningful error code basing 1349ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow * on the occuring error condition. The error code is numeric. 1449ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow * 1549ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow * The available error codes and their associated values are: 1649ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow * - (0) INV_SUCCESS 1749ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow * - (32) INV_ERROR 1849ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow * - (22 / EINVAL) INV_ERROR_INVALID_PARAMETER 1949ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow * - (1 / EPERM) INV_ERROR_FEATURE_NOT_ENABLED 2049ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow * - (36) INV_ERROR_FEATURE_NOT_IMPLEMENTED 2149ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow * - (38) INV_ERROR_DMP_NOT_STARTED 2249ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow * - (39) INV_ERROR_DMP_STARTED 2349ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow * - (40) INV_ERROR_NOT_OPENED 2449ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow * - (41) INV_ERROR_OPENED 2549ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow * - (19 / ENODEV) INV_ERROR_INVALID_MODULE 2649ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow * - (12 / ENOMEM) INV_ERROR_MEMORY_EXAUSTED 2749ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow * - (44) INV_ERROR_DIVIDE_BY_ZERO 2849ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow * - (45) INV_ERROR_ASSERTION_FAILURE 2949ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow * - (46) INV_ERROR_FILE_OPEN 3049ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow * - (47) INV_ERROR_FILE_READ 3149ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow * - (48) INV_ERROR_FILE_WRITE 3249ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow * - (49) INV_ERROR_INVALID_CONFIGURATION 3349ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow * - (52) INV_ERROR_SERIAL_CLOSED 3449ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow * - (53) INV_ERROR_SERIAL_OPEN_ERROR 3549ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow * - (54) INV_ERROR_SERIAL_READ 3649ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow * - (55) INV_ERROR_SERIAL_WRITE 3749ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow * - (56) INV_ERROR_SERIAL_DEVICE_NOT_RECOGNIZED 3849ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow * - (57) INV_ERROR_SM_TRANSITION 3949ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow * - (58) INV_ERROR_SM_IMPROPER_STATE 4049ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow * - (62) INV_ERROR_FIFO_OVERFLOW 4149ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow * - (63) INV_ERROR_FIFO_FOOTER 4249ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow * - (64) INV_ERROR_FIFO_READ_COUNT 4349ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow * - (65) INV_ERROR_FIFO_READ_DATA 4449ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow * - (72) INV_ERROR_MEMORY_SET 4549ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow * - (82) INV_ERROR_LOG_MEMORY_ERROR 4649ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow * - (83) INV_ERROR_LOG_OUTPUT_ERROR 4749ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow * - (92) INV_ERROR_OS_BAD_PTR 4849ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow * - (93) INV_ERROR_OS_BAD_HANDLE 4949ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow * - (94) INV_ERROR_OS_CREATE_FAILED 5049ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow * - (95) INV_ERROR_OS_LOCK_FAILED 5149ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow * - (102) INV_ERROR_COMPASS_DATA_OVERFLOW 5249ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow * - (103) INV_ERROR_COMPASS_DATA_UNDERFLOW 5349ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow * - (104) INV_ERROR_COMPASS_DATA_NOT_READY 5449ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow * - (105) INV_ERROR_COMPASS_DATA_ERROR 5549ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow * - (107) INV_ERROR_CALIBRATION_LOAD 5649ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow * - (108) INV_ERROR_CALIBRATION_STORE 5749ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow * - (109) INV_ERROR_CALIBRATION_LEN 5849ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow * - (110) INV_ERROR_CALIBRATION_CHECKSUM 5949ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow * - (111) INV_ERROR_ACCEL_DATA_OVERFLOW 6049ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow * - (112) INV_ERROR_ACCEL_DATA_UNDERFLOW 6149ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow * - (113) INV_ERROR_ACCEL_DATA_NOT_READY 6249ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow * - (114) INV_ERROR_ACCEL_DATA_ERROR 6349ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow * 6449ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow * The available warning codes and their associated values are: 6549ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow * - (115) INV_WARNING_MOTION_RACE 6649ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow * - (116) INV_WARNING_QUAT_TRASHED 6749ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow * 6849ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow * @{ 6949ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow * @file mltypes.h 7049ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow * @} 7149ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow */ 7249ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow 7349ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow#ifndef MLTYPES_H 7449ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow#define MLTYPES_H 7549ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow 7649ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow#ifdef __KERNEL__ 7749ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow#include <linux/types.h> 7849ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow#include <asm-generic/errno-base.h> 7949ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow#else 8049ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow#include "stdint_invensense.h" 8149ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow#include <errno.h> 8249ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow#endif 8349ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow#include <limits.h> 8449ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow 8549ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow#ifndef REMOVE_INV_ERROR_T 8649ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow/*--------------------------- 8749ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow * ML Types 8849ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow *--------------------------*/ 8949ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow 9049ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow/** 9149ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow * @struct inv_error_t mltypes.h "mltypes" 9249ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow * @brief The MPL Error Code return type. 9349ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow * 9449ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow * @code 9549ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow * typedef unsigned char inv_error_t; 9649ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow * @endcode 9749ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow */ 9849ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow//typedef unsigned char inv_error_t; 9949ea3e26ca3c6a779e527a0322e49a663333350aRosa Chowtypedef int inv_error_t; 10049ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow#endif 10149ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow 10249ea3e26ca3c6a779e527a0322e49a663333350aRosa Chowtypedef long long inv_time_t; 10349ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow 10449ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow#if !defined __GNUC__ && !defined __KERNEL__ 10549ea3e26ca3c6a779e527a0322e49a663333350aRosa Chowtypedef int8_t __s8; 10649ea3e26ca3c6a779e527a0322e49a663333350aRosa Chowtypedef int16_t __s16; 10749ea3e26ca3c6a779e527a0322e49a663333350aRosa Chowtypedef int32_t __s32; 10849ea3e26ca3c6a779e527a0322e49a663333350aRosa Chowtypedef int32_t __s64; 10949ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow 11049ea3e26ca3c6a779e527a0322e49a663333350aRosa Chowtypedef uint8_t __u8; 11149ea3e26ca3c6a779e527a0322e49a663333350aRosa Chowtypedef uint16_t __u16; 11249ea3e26ca3c6a779e527a0322e49a663333350aRosa Chowtypedef uint32_t __u32; 11349ea3e26ca3c6a779e527a0322e49a663333350aRosa Chowtypedef uint64_t __u64; 11449ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow#elif !defined __KERNEL__ 11549ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow#include <sys/types.h> 11649ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow#endif 11749ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow 11849ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow#ifndef __cplusplus 11949ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow#ifndef __KERNEL__ 12049ea3e26ca3c6a779e527a0322e49a663333350aRosa Chowtypedef int_fast8_t bool; 12149ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow 12249ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow#ifndef false 12349ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow#define false 0 12449ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow#endif 12549ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow 12649ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow#ifndef true 12749ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow#define true 1 12849ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow#endif 12949ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow 13049ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow#endif 13149ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow#endif 13249ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow 13349ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow/*--------------------------- 13449ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow * ML Defines 13549ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow *--------------------------*/ 13649ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow 13749ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow#ifndef NULL 13849ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow#define NULL 0 13949ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow#endif 14049ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow 14149ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow#ifndef __KERNEL__ 14249ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow#ifndef ARRAY_SIZE 14349ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow/* Dimension of an array */ 14449ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow#define ARRAY_SIZE(array) (sizeof(array)/sizeof((array)[0])) 14549ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow#endif 14649ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow#endif 14749ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow/* - ML Errors. - */ 14849ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow#define ERROR_NAME(x) (#x) 14949ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow#define ERROR_CHECK_FIRST(first, x) \ 15049ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow { if (INV_SUCCESS == first) first = x; } 15149ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow 15249ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow#define INV_SUCCESS (0) 15349ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow/* Generic Error code. Proprietary Error Codes only */ 15449ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow#define INV_ERROR_BASE (0x20) 15549ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow#define INV_ERROR (INV_ERROR_BASE) 15649ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow 15749ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow/* Compatibility and other generic error codes */ 15849ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow#define INV_ERROR_INVALID_PARAMETER (EINVAL) 15949ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow#define INV_ERROR_FEATURE_NOT_ENABLED (EPERM) 16049ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow#define INV_ERROR_FEATURE_NOT_IMPLEMENTED (INV_ERROR_BASE + 4) 16149ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow#define INV_ERROR_DMP_NOT_STARTED (INV_ERROR_BASE + 6) 16249ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow#define INV_ERROR_DMP_STARTED (INV_ERROR_BASE + 7) 16349ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow#define INV_ERROR_NOT_OPENED (INV_ERROR_BASE + 8) 16449ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow#define INV_ERROR_OPENED (INV_ERROR_BASE + 9) 16549ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow#define INV_ERROR_INVALID_MODULE (ENODEV) 16649ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow#define INV_ERROR_MEMORY_EXAUSTED (ENOMEM) 16749ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow#define INV_ERROR_DIVIDE_BY_ZERO (INV_ERROR_BASE + 12) 16849ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow#define INV_ERROR_ASSERTION_FAILURE (INV_ERROR_BASE + 13) 16949ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow#define INV_ERROR_FILE_OPEN (INV_ERROR_BASE + 14) 17049ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow#define INV_ERROR_FILE_READ (INV_ERROR_BASE + 15) 17149ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow#define INV_ERROR_FILE_WRITE (INV_ERROR_BASE + 16) 17249ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow#define INV_ERROR_INVALID_CONFIGURATION (INV_ERROR_BASE + 17) 17349ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow#define INV_ERROR_NOT_AUTHORIZED (INV_ERROR_BASE + 18) 17449ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow 17549ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow/* Serial Communication */ 17649ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow#define INV_ERROR_SERIAL_CLOSED (INV_ERROR_BASE + 20) 17749ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow#define INV_ERROR_SERIAL_OPEN_ERROR (INV_ERROR_BASE + 21) 17849ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow#define INV_ERROR_SERIAL_READ (INV_ERROR_BASE + 22) 17949ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow#define INV_ERROR_SERIAL_WRITE (INV_ERROR_BASE + 23) 18049ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow#define INV_ERROR_SERIAL_DEVICE_NOT_RECOGNIZED (INV_ERROR_BASE + 24) 18149ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow 18249ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow/* SM = State Machine */ 18349ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow#define INV_ERROR_SM_TRANSITION (INV_ERROR_BASE + 25) 18449ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow#define INV_ERROR_SM_IMPROPER_STATE (INV_ERROR_BASE + 26) 18549ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow 18649ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow/* Fifo */ 18749ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow#define INV_ERROR_FIFO_OVERFLOW (INV_ERROR_BASE + 30) 18849ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow#define INV_ERROR_FIFO_FOOTER (INV_ERROR_BASE + 31) 18949ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow#define INV_ERROR_FIFO_READ_COUNT (INV_ERROR_BASE + 32) 19049ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow#define INV_ERROR_FIFO_READ_DATA (INV_ERROR_BASE + 33) 19149ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow 19249ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow/* Memory & Registers, Set & Get */ 19349ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow#define INV_ERROR_MEMORY_SET (INV_ERROR_BASE + 40) 19449ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow 19549ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow#define INV_ERROR_LOG_MEMORY_ERROR (INV_ERROR_BASE + 50) 19649ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow#define INV_ERROR_LOG_OUTPUT_ERROR (INV_ERROR_BASE + 51) 19749ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow 19849ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow/* OS interface errors */ 19949ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow#define INV_ERROR_OS_BAD_PTR (INV_ERROR_BASE + 60) 20049ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow#define INV_ERROR_OS_BAD_HANDLE (INV_ERROR_BASE + 61) 20149ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow#define INV_ERROR_OS_CREATE_FAILED (INV_ERROR_BASE + 62) 20249ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow#define INV_ERROR_OS_LOCK_FAILED (INV_ERROR_BASE + 63) 20349ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow 20449ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow/* Compass errors */ 20549ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow#define INV_ERROR_COMPASS_DATA_OVERFLOW (INV_ERROR_BASE + 70) 20649ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow#define INV_ERROR_COMPASS_DATA_UNDERFLOW (INV_ERROR_BASE + 71) 20749ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow#define INV_ERROR_COMPASS_DATA_NOT_READY (INV_ERROR_BASE + 72) 20849ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow#define INV_ERROR_COMPASS_DATA_ERROR (INV_ERROR_BASE + 73) 20949ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow 21049ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow/* Load/Store calibration */ 21149ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow#define INV_ERROR_CALIBRATION_LOAD (INV_ERROR_BASE + 75) 21249ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow#define INV_ERROR_CALIBRATION_STORE (INV_ERROR_BASE + 76) 21349ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow#define INV_ERROR_CALIBRATION_LEN (INV_ERROR_BASE + 77) 21449ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow#define INV_ERROR_CALIBRATION_CHECKSUM (INV_ERROR_BASE + 78) 21549ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow 21649ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow/* Accel errors */ 21749ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow#define INV_ERROR_ACCEL_DATA_OVERFLOW (INV_ERROR_BASE + 79) 21849ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow#define INV_ERROR_ACCEL_DATA_UNDERFLOW (INV_ERROR_BASE + 80) 21949ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow#define INV_ERROR_ACCEL_DATA_NOT_READY (INV_ERROR_BASE + 81) 22049ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow#define INV_ERROR_ACCEL_DATA_ERROR (INV_ERROR_BASE + 82) 22149ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow 22249ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow/* No Motion Warning States */ 22349ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow#define INV_WARNING_MOTION_RACE (INV_ERROR_BASE + 83) 22449ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow#define INV_WARNING_QUAT_TRASHED (INV_ERROR_BASE + 84) 22549ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow#define INV_WARNING_GYRO_MAG (INV_ERROR_BASE + 85) 22649ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow 22749ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow#define INV_WARNING_SEMAPHORE_TIMEOUT (INV_ERROR_BASE + 86) 22849ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow 22949ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow 23049ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow/* For Linux coding compliance */ 23149ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow#ifndef __KERNEL__ 23249ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow#define EXPORT_SYMBOL(x) 23349ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow#endif 23449ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow 23549ea3e26ca3c6a779e527a0322e49a663333350aRosa Chow#endif /* MLTYPES_H */ 236