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