ISSDK  1.8
IoT Sensing Software Development Kit
Macros | Functions | Variables
mpl3115_normal.c File Reference
#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 "mpl3115_drv.h"
Include dependency graph for mpl3115_normal.c:

Go to the source code of this file.

Macros

#define MPL3115_DATA_SIZE   (5) /* 3 byte Pressure/Altitude and 2 byte Temperature. */
 
#define MPL3115_SAMPLING_EXPONENT   (1) /* 2 seconds */
 

Functions

int main (void)
 Main function. More...
 

Variables

const registerwritelist_t cMpl3115ConfigNormal []
 Register settings for Normal (non buffered) mode. More...
 
const registerreadlist_t cMpl3115Status [] = {{.readFrom = MPL3115_STATUS, .numBytes = 1}, __END_READ_DATA__}
 Address of Status Register. More...
 
const registerreadlist_t cMpl3115OutputNormal []
 Address and size of Raw Pressure+Temperature Data in Normal Mode. More...
 

Macro Definition Documentation

◆ MPL3115_DATA_SIZE

#define MPL3115_DATA_SIZE   (5) /* 3 byte Pressure/Altitude and 2 byte Temperature. */

Definition at line 35 of file mpl3115_normal.c.

Referenced by main().

◆ MPL3115_SAMPLING_EXPONENT

#define MPL3115_SAMPLING_EXPONENT   (1) /* 2 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 39 of file mpl3115_normal.c.

Function Documentation

◆ main()

int main ( void  )

Main function.

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 MPL3115 sensor.

Wait for data ready from the MPL3115.

Read new raw sensor data from the MPL3115.

Process the sample and convert the raw sensor data.

Definition at line 69 of file mpl3115_normal.c.

References ASK_USER_TO_RESUME, BOARD_BootClockRUN, BOARD_InitDebugConsole(), BOARD_InitPins(), data, I2C_S_DEVICE_INDEX, I2C_S_DRIVER, I2C_S_SIGNAL_EVENT, I2Cdrv, int32_t(), MPL3115_DATA_SIZE, MPL3115_DR_STATUS_PTDR_MASK, MPL3115_I2C_ADDR, MPL3115_I2C_Configure(), MPL3115_I2C_Initialize(), MPL3115_I2C_ReadData(), MPL3115_I2C_SetIdleTask(), MPL3115_PRESSURE_CONV_FACTOR, MPL3115_TEMPERATURE_CONV_FACTOR, MPL3115_WHOAMI_VALUE, mpl3115_pressuredata_t::pressure, rawData, SENSOR_ERROR_NONE, SMC, SMC_SetPowerModeVlpr(), status, and mpl3115_pressuredata_t::temperature.

Here is the call graph for this function:

Variable Documentation

◆ cMpl3115ConfigNormal

const registerwritelist_t cMpl3115ConfigNormal[]
Initial value:
= {
#define MPL3115_SAMPLING_EXPONENT
#define MPL3115_CTRL_REG2_ST_MASK
Definition: mpl3115.h:916
#define __END_WRITE_DATA__
Definition: sensor_drv.h:45
#define MPL3115_PT_DATA_CFG_TDEFE_MASK
Definition: mpl3115.h:550
#define MPL3115_PT_DATA_CFG_DREM_ENABLED
Definition: mpl3115.h:570
#define MPL3115_PT_DATA_CFG_PDEFE_MASK
Definition: mpl3115.h:553
#define MPL3115_CTRL_REG1_OS_OSR_128
Definition: mpl3115.h:884
#define MPL3115_PT_DATA_CFG_DREM_MASK
Definition: mpl3115.h:556
#define MPL3115_PT_DATA_CFG_PDEFE_ENABLED
Definition: mpl3115.h:567
#define MPL3115_PT_DATA_CFG_TDEFE_ENABLED
Definition: mpl3115.h:564
#define MPL3115_CTRL_REG1_OS_MASK
Definition: mpl3115.h:855

Register settings for Normal (non buffered) mode.

Definition at line 45 of file mpl3115_normal.c.

◆ cMpl3115OutputNormal

const registerreadlist_t cMpl3115OutputNormal[]
Initial value:
= {{.readFrom = MPL3115_OUT_P_MSB, .numBytes = MPL3115_DATA_SIZE},
#define MPL3115_DATA_SIZE
#define __END_READ_DATA__
Definition: sensor_drv.h:51

Address and size of Raw Pressure+Temperature Data in Normal Mode.

Definition at line 60 of file mpl3115_normal.c.

◆ cMpl3115Status

const registerreadlist_t cMpl3115Status[] = {{.readFrom = MPL3115_STATUS, .numBytes = 1}, __END_READ_DATA__}

Address of Status Register.

Definition at line 57 of file mpl3115_normal.c.