12 #ifndef __ACCEL_INTERNAL_H_ 13 #define __ACCEL_INTERNAL_H_ 19 #define ACCEL_BUFFER_SIZE 32 26 #define ACCEL_SHOCK_FSMR ACCEL_FSMR_16G 33 #define ACCEL_SHOCK_ODR ACCEL_ODR_100HZ 40 #define ACCEL_SHAKE_FSMR ACCEL_FSMR_8G 47 #define ACCEL_SHAKE_ODR ACCEL_ODR_25HZ 54 #define ACCEL_VIBRATION_FSMR ACCEL_FSMR_4G 61 #define ACCEL_VIBRATION_ODR ACCEL_ODR_50HZ 68 #define ACCEL_TILT_FSMR ACCEL_FSMR_2G 75 #define ACCEL_TILT_ODR ACCEL_ODR_12HZ 82 typedef enum ACCEL_FSMR
94 typedef enum ACCEL_ODR
114 typedef struct ACCEL_AXES_FLAGS {
123 typedef enum ACCEL_TILT_STATUS {
124 ACCEL_TILT_STATUS_UNKNOWN = 0,
133 ACCEL_TILT_STATUS_PORTRAIT_UP = 0x01,
142 ACCEL_TILT_STATUS_PORTRAIT_DOWN = 0x02,
151 ACCEL_TILT_STATUS_LANDSCAPE_RIGHT = 0x04,
160 ACCEL_TILT_STATUS_LANDSCAPE_LEFT = 0x08,
165 ACCEL_TILT_STATUS_FRONT = 0x10,
170 ACCEL_TILT_STATUS_BACK = 0x20,
173 ACCEL_TILT_STATUS_COUNT = 6
174 } ACCEL_TILT_STATUS_T;
181 typedef struct ACCEL_INTERRUPT_STATUS_S {
182 #if ACCEL_SHOCK_ENABLE || ACCEL_SHAKE_ENABLE || ACCEL_VIBRATION_ENABLE 194 #if ACCEL_TILT_ENABLE 220 bool Accel_TimerCb(
void);
221 void Accel_TimerSet(ACCEL_ODR_T odr,
unsigned int timeout);
232 int Accel_TimerCalculateDebounce(ACCEL_ODR_T odr,
int duration);
234 void Accel_I2cInit(
void);
235 void Accel_I2cDeInit(
void);
236 uint8_t Accel_I2cReadReg(uint8_t reg);
237 bool Accel_I2cWriteReg(uint8_t reg, uint8_t val);
241 #if ACCEL_SHOCK_ENABLE 242 bool Accel_Shock_Start(
void);
243 void Accel_Shock_Stop(
void);
248 #if ACCEL_SHAKE_ENABLE 249 bool Accel_Shake_Start(
void);
250 void Accel_Shake_Stop(
void);
255 #if ACCEL_VIBRATION_ENABLE 256 bool Accel_Vibration_Start(
void);
257 void Accel_Vibration_Stop(
void);
262 #if ACCEL_TILT_ENABLE 263 bool Accel_Tilt_Start(
bool shock,
bool shake,
bool vibration);
264 void Accel_Tilt_Stop(
void);
282 void Accel_SetThresholds(
int level);
292 void Accel_SetWatermark(
int watermark);
296 bool Accel_ProgramShock(
int amplitude);
297 bool Accel_ProgramShake(
int amplitude);
298 bool Accel_ProgramVibration(
int amplitude);
299 bool Accel_ProgramTilt(
bool shock,
bool shake,
bool vibration,
int waitTime);
301 void Accel_Reset(
bool shock,
bool shake,
bool vibration,
bool tilt);
302 ACCEL_FSMR_T Accel_Disable(
void);
303 void Accel_Enable(
void);
bool thresholdsExceeded
Definition: accel_internal.h:186
bool timerExpired
Definition: accel_internal.h:211
int y
Definition: accel_internal.h:116
ACCEL_AXES_FLAGS_T flags
Definition: accel_internal.h:191
Definition: accel_internal.h:181
bool orientationChanged
Definition: accel_internal.h:198
Definition: accel_params.h:121
Definition: accel_params.h:26
Definition: accel_params.h:65
Definition: accel_params.h:90
int x
Definition: accel_internal.h:115
int tiltStatus
Definition: accel_internal.h:204
int z
Definition: accel_internal.h:117
Definition: accel_internal.h:114