![]() |
ISSDK
1.7
IoT Sensing Software Development Kit
|
The mpl3115_fifo_interrupt.c file implements the ISSDK MPL3115 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 "mpl3115_drv.h"
Go to the source code of this file.
Macros | |
#define | FIFO_WMRK_SIZE (8) /* Buffer 8 Samples. */ |
#define | MPL3115_DATA_SIZE (5) /* 3 byte Pressure/Altitude and 2 byte Temperature. */ |
#define | MPL3115_SAMPLING_EXPONENT (0) /* 1 seconds. */ |
Functions | |
void | mpl3115_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 | cMpl3115ConfigFIFO [] |
Register settings for FIFO (buffered) mode @ default 1 sample per second with Interrupts. More... | |
const registerreadlist_t | cMpl3115Status [] = {{.readFrom = MPL3115_STATUS, .numBytes = 1}, __END_READ_DATA__} |
Address of Status Register. More... | |
const registerreadlist_t | cMpl3115OutputFIFO [] |
Address and size of Pressure+Temperature Data in FIFO Mode. More... | |
volatile uint8_t | gMpl3115DataReady |
The mpl3115_fifo_interrupt.c file implements the ISSDK MPL3115 sensor driver example demonstration with interrupt mode.
Definition in file mpl3115_fifo_interrupt.c.
#define FIFO_WMRK_SIZE (8) /* Buffer 8 Samples. */ |
Definition at line 65 of file mpl3115_fifo_interrupt.c.
Referenced by main().
Definition at line 66 of file mpl3115_fifo_interrupt.c.
Referenced by main().
#define MPL3115_SAMPLING_EXPONENT (0) /* 1 seconds. */ |
In MPL3115 the Auto Acquisition Time Step (ODR) can be set only in powers of 2 (i.e. 2^x, where x is the SAMPLING_EXPONENT). This gives a range of 1 second to 2^15 seconds (9 hours).
Definition at line 70 of file mpl3115_fifo_interrupt.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 MAG3110 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 MPL3115 sensor driver.
Set the task to be executed while waiting for I2C transactions to complete.
Configure the MAG3110 sensor driver.
Clear the data ready flag, it will be set again by the ISR.
Read new raw sensor data from the MPL3115.
Process all samples and convert the raw sensor data.
Definition at line 132 of file mpl3115_fifo_interrupt.c.
References ASK_USER_TO_RESUME, BOARD_BootClockRUN, BOARD_InitDebugConsole(), BOARD_InitPins(), data, Driver_GPIO_KSDK, FIFO_WMRK_SIZE, gMpl3115DataReady, GPIO_DIRECTION_IN, GPIO_DIRECTION_OUT, GREEN_LED, I2C_S_DEVICE_INDEX, I2C_S_DRIVER, I2C_S_SIGNAL_EVENT, int32_t(), MPL3115_DATA_SIZE, MPL3115_I2C_ADDR, MPL3115_I2C_Configure(), MPL3115_I2C_Initialize(), MPL3115_I2C_ReadData(), MPL3115_I2C_SetIdleTask(), MPL3115_INT1, mpl3115_int_data_ready_callback(), MPL3115_PRESSURE_CONV_FACTOR, MPL3115_TEMPERATURE_CONV_FACTOR, MPL3115_WHOAMI_VALUE, pGpioDriver, GENERIC_DRIVER_GPIO::pin_init, mpl3115_pressuredata_t::pressure, rawData, SENSOR_ERROR_NONE, SMC, SMC_SetPowerModeWait(), status, mpl3115_pressuredata_t::temperature, and GENERIC_DRIVER_GPIO::toggle_pin.
void mpl3115_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 118 of file mpl3115_fifo_interrupt.c.
References gMpl3115DataReady.
Referenced by main().
const registerwritelist_t cMpl3115ConfigFIFO[] |
Register settings for FIFO (buffered) mode @ default 1 sample per second with Interrupts.
Definition at line 76 of file mpl3115_fifo_interrupt.c.
const registerreadlist_t cMpl3115OutputFIFO[] |
Address and size of Pressure+Temperature Data in FIFO Mode.
Definition at line 99 of file mpl3115_fifo_interrupt.c.
const registerreadlist_t cMpl3115Status[] = {{.readFrom = MPL3115_STATUS, .numBytes = 1}, __END_READ_DATA__} |
Address of Status Register.
Definition at line 96 of file mpl3115_fifo_interrupt.c.
volatile uint8_t gMpl3115DataReady |
Definition at line 105 of file mpl3115_fifo_interrupt.c.
Referenced by main(), and mpl3115_int_data_ready_callback().