![]() |
ISSDK
1.7
IoT Sensing Software Development Kit
|
The mma865x_interrupt.c file implements the ISSDK MMA865x sensor driver example demonstration with Interrupt mode. More...
#include "board.h"
#include "pin_mux.h"
#include "clock_config.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 | MMA865x_ACCEL_DATA_SIZE (6) /* 2 byte X,Y,Z Axis Data each. */ |
Functions | |
void | mma865x_int_data_ready_callback (void *pUserData) |
This is the Sensor Data Ready ISR implementation. More... | |
int | main (void) |
This is the The main function implementation. More... | |
Variables | |
const registerwritelist_t | cMma865xConfigInterrupt [] |
const registerreadlist_t | cMma865xOutputValues [] |
volatile bool | gMma865xDataReady = false |
The mma865x_interrupt.c file implements the ISSDK MMA865x sensor driver example demonstration with Interrupt mode.
Definition in file mma865x_interrupt.c.
#define MMA865x_ACCEL_DATA_SIZE (6) /* 2 byte X,Y,Z Axis Data each. */ |
Definition at line 64 of file mma865x_interrupt.c.
Referenced by main().
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.
Configure the MMA865x sensor driver with No FIFO mode.
Clear the data ready flag, it will be set again by the ISR.
Read the raw sensor data from the MMA865x.
Convert the raw sensor data to signed 16-bit container for display to the debug port.
Definition at line 119 of file mma865x_interrupt.c.
References mma865x_acceldata_t::accel, ASK_USER_TO_RESUME, BOARD_BootClockRUN, BOARD_InitDebugConsole(), BOARD_InitPins(), data, Driver_GPIO_KSDK, gMma865xDataReady, GPIO_DIRECTION_IN, GPIO_DIRECTION_OUT, GREEN_LED, I2C_S_DEVICE_INDEX, I2C_S_DRIVER, I2C_S_SIGNAL_EVENT, int32_t(), MMA8652_I2C_ADDR, MMA8652_INT1, MMA8652_WHOAMI_VALUE, MMA865x_ACCEL_DATA_SIZE, MMA865x_I2C_Configure(), MMA865x_I2C_Initialize(), MMA865x_I2C_ReadData(), MMA865x_I2C_SetIdleTask(), mma865x_int_data_ready_callback(), GENERIC_DRIVER_GPIO::pin_init, rawData, SENSOR_ERROR_NONE, SMC, SMC_SetPowerModeWait(), status, and GENERIC_DRIVER_GPIO::toggle_pin.
void mma865x_int_data_ready_callback | ( | void * | pUserData | ) |
This is the Sensor Data Ready ISR implementation.
This function sets the flag which indicates if a new sample(s) is available for reading.
[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 105 of file mma865x_interrupt.c.
References gMma865xDataReady.
Referenced by main().
const registerwritelist_t cMma865xConfigInterrupt[] |
Prepare the register write list to configure MMA865x in non-FIFO and ISR mode.
Definition at line 70 of file mma865x_interrupt.c.
const registerreadlist_t cMma865xOutputValues[] |
Prepare the register read list to read the raw Accel data from MMA865x.
Definition at line 86 of file mma865x_interrupt.c.
volatile bool gMma865xDataReady = false |
Definition at line 92 of file mma865x_interrupt.c.
Referenced by main(), and mma865x_int_data_ready_callback().