![]() |
ISSDK
1.7
IoT Sensing Software Development Kit
|
The fxos8700_interrupt.c file implements the ISSDK FXOS8700 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 "fxos8700_drv.h"
Go to the source code of this file.
Macros | |
#define | RAW_ACCEL_DATA_SIZE (6) |
Functions | |
void | fxos8700_isr_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 | fxos8700_Config_Interrupt [] |
const registerreadlist_t | FXOS8700_STATUS_READ [] = {{.readFrom = FXOS8700_STATUS, .numBytes = 1}, __END_READ_DATA__} |
const registerreadlist_t | FXOS8700_ACCEL_READ [] |
volatile bool | fxos8700Interrupt = false |
The fxos8700_interrupt.c file implements the ISSDK FXOS8700 sensor driver example demonstration with interrupt mode.
Definition in file fxos8700_interrupt.c.
#define RAW_ACCEL_DATA_SIZE (6) |
Definition at line 64 of file fxos8700_interrupt.c.
Referenced by main().
void fxos8700_isr_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 106 of file fxos8700_interrupt.c.
References fxos8700Interrupt.
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 INT1_FXOS8700 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 FXOS8700 sensor driver.
Set the task to be executed while waiting for I2C transactions to complete.
Configure the fxos8700 sensor driver.
Clear the data ready flag, it will be set again by the ISR.
Read the raw sensor data from the fxos8700.
Convert the raw sensor data to signed 16-bit container for display to the debug port.
Definition at line 120 of file fxos8700_interrupt.c.
References fxos8700_accelmagdata_t::accel, ASK_USER_TO_RESUME, BOARD_BootClockRUN, BOARD_InitDebugConsole(), BOARD_InitPins(), data, Driver_GPIO_KSDK, FXOS8700_I2C_ADDR, FXOS8700_I2C_Configure(), FXOS8700_I2C_Initialize(), FXOS8700_I2C_ReadData(), FXOS8700_I2C_SetIdleTask(), FXOS8700_INT2, fxos8700_isr_callback(), FXOS8700_WHO_AM_I_PROD_VALUE, fxos8700Interrupt, GPIO_DIRECTION_IN, GPIO_DIRECTION_OUT, GREEN_LED, I2C_S_DEVICE_INDEX, I2C_S_DRIVER, I2C_S_SIGNAL_EVENT, int32_t(), GENERIC_DRIVER_GPIO::pin_init, RAW_ACCEL_DATA_SIZE, rawData, SENSOR_ERROR_NONE, SMC, SMC_SetPowerModeWait(), status, and GENERIC_DRIVER_GPIO::toggle_pin.
const registerreadlist_t FXOS8700_ACCEL_READ[] |
Command definition to read the Accel Data
Definition at line 87 of file fxos8700_interrupt.c.
const registerwritelist_t fxos8700_Config_Interrupt[] |
Prepare the register write list to configure FXAS21002 in non-FIFO mode.
Definition at line 70 of file fxos8700_interrupt.c.
const registerreadlist_t FXOS8700_STATUS_READ[] = {{.readFrom = FXOS8700_STATUS, .numBytes = 1}, __END_READ_DATA__} |
Command definition to read the Data Ready Status
Definition at line 84 of file fxos8700_interrupt.c.
volatile bool fxos8700Interrupt = false |
Definition at line 93 of file fxos8700_interrupt.c.
Referenced by fxos8700_isr_callback(), and main().