![]() |
ISSDK
1.8
IoT Sensing Software Development Kit
|
The mma865x_doubletap-detection.c file implements the ISSDK MMA865x sensor example demonstration for double-tap detection. More...
#include "pin_mux.h"
#include "clock_config.h"
#include "board.h"
#include "fsl_debug_console.h"
#include "Driver_I2C.h"
#include "issdk_hal.h"
#include "gpio_driver.h"
#include "mma865x_drv.h"
Go to the source code of this file.
Macros | |
#define | PULSE_THX 0x12 /* X-axis pulse threshold value. */ |
#define | PULSE_THY 0x12 /* Y-axis pulse threshold value. */ |
#define | PULSE_THZ 0x12 /* Z-axis pulse threshold value. */ |
#define | PULSE_TL 0x0C /* Time limit value for pulse detection. */ |
#define | PULSE_LT 0x14 /* Latency time for second pulse detection. */ |
#define | PULSE_WT 0x1E /* Window time for second pulse detection. */ |
Functions | |
void | mma865x_isr_callback (void *pUserData) |
This is the Sensor Event ISR implementation. More... | |
int | main (void) |
This is the The main function implementation. More... | |
Variables | |
const registerwritelist_t | cMma865xConfigDoubleTap [] |
const registerreadlist_t | gMma865xReadPulseSrc [] = {{.readFrom = MMA865x_PULSE_SRC, .numBytes = 1}, __END_READ_DATA__} |
Read register list for MMA8652 to read status bits for the pulse detection function. More... | |
volatile bool | gMma865xIntFlag = false |
The mma865x_doubletap-detection.c file implements the ISSDK MMA865x sensor example demonstration for double-tap detection.
Definition in file mma865x_doubletap-detection.c.
#define PULSE_LT 0x14 /* Latency time for second pulse detection. */ |
Definition at line 45 of file mma865x_doubletap-detection.c.
#define PULSE_THX 0x12 /* X-axis pulse threshold value. */ |
Definition at line 41 of file mma865x_doubletap-detection.c.
#define PULSE_THY 0x12 /* Y-axis pulse threshold value. */ |
Definition at line 42 of file mma865x_doubletap-detection.c.
#define PULSE_THZ 0x12 /* Z-axis pulse threshold value. */ |
Definition at line 43 of file mma865x_doubletap-detection.c.
#define PULSE_TL 0x0C /* Time limit value for pulse detection. */ |
Definition at line 44 of file mma865x_doubletap-detection.c.
#define PULSE_WT 0x1E /* Window time for second pulse detection. */ |
Definition at line 46 of file mma865x_doubletap-detection.c.
int main | ( | void | ) |
This is the The main function implementation.
This function invokes board initializes routines, then then brings up the sensor and finally enters an endless loop to continuously read available samples.
[in] | void | This is no input parameter. |
Initialize the MCU hardware.
Initialize MMA865x pin used by FRDM board
Initialize RGB LED pin used by FRDM board
Initialize the I2C driver.
Set the I2C Power mode.
Set the I2C bus speed.
Initialize the MMA865x sensor driver.
Set the task to be executed while waiting for I2C transactions to complete.
Clear the data ready flag, it will be set again by the ISR.
Definition at line 111 of file mma865x_doubletap-detection.c.
References BOARD_BootClockRUN, BOARD_InitDebugConsole(), BOARD_InitPins(), Driver_GPIO_KSDK, gMma865xIntFlag, GPIO_DIRECTION_IN, GPIO_DIRECTION_OUT, GREEN_LED, I2C_S_DEVICE_INDEX, I2C_S_DRIVER, I2C_S_SIGNAL_EVENT, I2Cdrv, int32_t(), MMA8652_I2C_ADDR, MMA8652_INT1, MMA8652_WHOAMI_VALUE, MMA865x_I2C_Configure(), MMA865x_I2C_Initialize(), MMA865x_I2C_ReadData(), MMA865x_I2C_SetIdleTask(), mma865x_isr_callback(), MMA865x_PULSE_SRC_DPE_MASK, GENERIC_DRIVER_GPIO::pin_init, SENSOR_ERROR_NONE, SMC, SMC_SetPowerModeVlpr(), SMC_SetPowerModeWait(), status, and GENERIC_DRIVER_GPIO::toggle_pin.
void mma865x_isr_callback | ( | void * | pUserData | ) |
This is the Sensor Event ISR implementation.
This function sets the flag which indicates if a new event is detected.
[in] | pUserData | This is a void pointer to the instance of the user specific data structure for the ISR. |
Set flag to indicate Sensor has detected an event.
Definition at line 97 of file mma865x_doubletap-detection.c.
References gMma865xIntFlag.
Referenced by main().
const registerwritelist_t cMma865xConfigDoubleTap[] |
Definition at line 51 of file mma865x_doubletap-detection.c.
volatile bool gMma865xIntFlag = false |
Definition at line 84 of file mma865x_doubletap-detection.c.
Referenced by main(), and mma865x_isr_callback().
const registerreadlist_t gMma865xReadPulseSrc[] = {{.readFrom = MMA865x_PULSE_SRC, .numBytes = 1}, __END_READ_DATA__} |
Read register list for MMA8652 to read status bits for the pulse detection function.
Definition at line 79 of file mma865x_doubletap-detection.c.