| /* |
| $License: |
| Copyright (C) 2011 InvenSense Corporation, All Rights Reserved. |
| $ |
| */ |
| |
| /******************************************************************************* |
| * |
| * $Id: helper-customer.h 5770 2011-07-14 01:34:10Z mcaramello $ |
| * |
| *******************************************************************************/ |
| |
| #ifndef HELPER_C_H |
| #define HELPER_C_H |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif |
| |
| #include "mltypes.h" |
| #include "mlerrorcode.h" |
| |
| /* |
| Defines |
| */ |
| |
| #define CALL_N_CHECK(f) { \ |
| unsigned int r35uLt = f; \ |
| if(INV_SUCCESS != r35uLt) { \ |
| printf("Error in file %s, line %d : %s returned code %s (#%d)\n", \ |
| __FILE__, __LINE__, #f, MLErrorCode(r35uLt), r35uLt); \ |
| } \ |
| } |
| |
| #define CALL_CHECK_N_RETURN_ERROR(f) { \ |
| unsigned int r35uLt = f; \ |
| if(INV_SUCCESS != r35uLt) { \ |
| printf("Error in file %s, line %d : %s returned code %s (#%d)\n", \ |
| __FILE__, __LINE__, #f, MLErrorCode(r35uLt), r35uLt); \ |
| return r35uLt; \ |
| } \ |
| } |
| |
| // for functions returning void |
| #define CALL_CHECK_N_RETURN(f) { \ |
| unsigned int r35uLt = f; \ |
| if(INV_SUCCESS != r35uLt) { \ |
| printf("Error in file %s, line %d : %s returned code %s (#%d)\n", \ |
| __FILE__, __LINE__, #f, MLErrorCode(r35uLt), r35uLt); \ |
| return; \ |
| } \ |
| } |
| |
| #define CALL_CHECK_N_EXIT(f) { \ |
| unsigned int r35uLt = f; \ |
| if(INV_SUCCESS != r35uLt) { \ |
| printf("Error in file %s, line %d : %s returned code %s (#%d)\n", \ |
| __FILE__, __LINE__, #f, MLErrorCode(r35uLt), r35uLt); \ |
| exit (r35uLt); \ |
| } \ |
| } |
| |
| |
| #define CALL_CHECK_N_CALLBACK(f, cb) { \ |
| unsigned int r35uLt = f; \ |
| if(INV_SUCCESS != r35uLt) { \ |
| printf("Error in file %s, line %d : %s returned code %s (#%d)\n", \ |
| __FILE__, __LINE__, #f, MLErrorCode(r35uLt), r35uLt); \ |
| cb; \ |
| } \ |
| } |
| |
| #define CALL_CHECK_N_GOTO(f, label) { \ |
| unsigned int r35uLt = f; \ |
| if(INV_SUCCESS != r35uLt) { \ |
| printf("Error in file %s, line %d : %s returned code %s (#%d)\n", \ |
| __FILE__, __LINE__, #f, MLErrorCode(r35uLt), r35uLt); \ |
| goto label; \ |
| } \ |
| } |
| |
| #define DEFAULT_PLATFORM PLATFORM_ID_MSB_V2 |
| #define DEFAULT_ACCEL_ID ACCEL_ID_KXTF9 |
| #define DEFAULT_COMPASS_ID COMPASS_ID_AK8975 |
| |
| #define DataLogger(x) NULL |
| #define DataLoggerSelector(x) // |
| #define DataLoggerCb(x) NULL |
| #define findComm() (9) |
| #define MenuHwChoice(p,a,c) (*p = DEFAULT_PLATFORM, *a = DEFAULT_ACCEL_ID, \ |
| *c = DEFAULT_COMPASS_ID, INV_ERROR) |
| |
| char ConsoleGetChar(void); |
| int ConsoleKbhit(void); |
| struct mpuirq_data **InterruptPoll( |
| int *handles, int numHandles, long tv_sec, long tv_usec); |
| void InterruptPollDone(struct mpuirq_data ** data); |
| |
| #ifdef __cplusplus |
| } |
| #endif |
| |
| #endif // HELPER_C_H |