![]() |
ISSDK
1.8
IoT Sensing Software Development Kit
|
The mma865x_freefall-detection.c file implements the ISSDK MMA865x sensor example demonstrating configuring MMA8652 Accel and enabling detection of freefall event. 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 | FF_MT_WT_DBCNT 0x18 /* Debounce count value. */ |
#define | FF_MT_THS_VALUE 0x08 /* Threshold Value. */ |
Functions | |
void | mma865x_isr_callback (void *pUserData) |
This is the Sensor ISR implementation. More... | |
int | main (void) |
This is the The main function implementation. More... | |
Variables | |
const registerwritelist_t | cMma865xConfigFreeFall [] |
Register settings for freefall detection. More... | |
const registerreadlist_t | cMma865xFreeFallEvent [] = {{.readFrom = MMA865x_FF_MT_SRC, .numBytes = 1}, __END_READ_DATA__} |
Address of Freefall Status Register. More... | |
volatile bool | gMma865xIntFlag = false |
The mma865x_freefall-detection.c file implements the ISSDK MMA865x sensor example demonstrating configuring MMA8652 Accel and enabling detection of freefall event.
Definition in file mma865x_freefall-detection.c.
#define FF_MT_THS_VALUE 0x08 /* Threshold Value. */ |
Definition at line 43 of file mma865x_freefall-detection.c.
#define FF_MT_WT_DBCNT 0x18 /* Debounce count value. */ |
Definition at line 42 of file mma865x_freefall-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 MMA865x 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.
Configure the MMA865x sensor for Freefall detection Mode.
Clear the event flag, it will be set again by the ISR.
Display that a freefall event has been detected.
Definition at line 105 of file mma865x_freefall-detection.c.
References BOARD_BootClockRUN, BOARD_InitDebugConsole(), BOARD_InitPins(), Driver_GPIO_KSDK, gMma865xIntFlag, GPIO_DIRECTION_IN, 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_SetIdleTask(), mma865x_isr_callback(), pGpioDriver, GENERIC_DRIVER_GPIO::pin_init, SENSOR_ERROR_NONE, SMC, SMC_SetPowerModeVlpr(), SMC_SetPowerModeWait(), and status.
void mma865x_isr_callback | ( | void * | pUserData | ) |
This is the Sensor ISR implementation.
This function sets the flag which indicates if a new sample(s) is available for reading or new event has occurred.
[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 signalled data ready.
Definition at line 91 of file mma865x_freefall-detection.c.
References gMma865xIntFlag.
Referenced by main().
const registerwritelist_t cMma865xConfigFreeFall[] |
Register settings for freefall detection.
Definition at line 49 of file mma865x_freefall-detection.c.
const registerreadlist_t cMma865xFreeFallEvent[] = {{.readFrom = MMA865x_FF_MT_SRC, .numBytes = 1}, __END_READ_DATA__} |
Address of Freefall Status Register.
Definition at line 72 of file mma865x_freefall-detection.c.
volatile bool gMma865xIntFlag = false |
Definition at line 77 of file mma865x_freefall-detection.c.
Referenced by main(), and mma865x_isr_callback().