ISSDK  1.7
IoT Sensing Software Development Kit
Macros | Functions | Variables
mma865x_fifo.c File Reference

The mma865x_fifo.c file implements the ISSDK MMA865x sensor driver example demonstration with FIFO 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 "mma865x_drv.h"
Include dependency graph for mma865x_fifo.c:

Go to the source code of this file.

Macros

#define FIFO_WATERMARK   (16) /* Must be between 1 - 32 */
 
#define MMA865x_ACCEL_DATA_SIZE   (6) /* 2 byte X,Y,Z Axis Data each. */
 

Functions

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

Variables

const registerwritelist_t cMma865xConfigFifo []
 
const registerreadlist_t cMma865xFifoStatus [] = {{.readFrom = MMA865x_F_STATUS, .numBytes = 1}, __END_READ_DATA__}
 
const registerreadlist_t cMma865xOutputValues []
 

Detailed Description

The mma865x_fifo.c file implements the ISSDK MMA865x sensor driver example demonstration with FIFO mode.

Definition in file mma865x_fifo.c.

Macro Definition Documentation

◆ FIFO_WATERMARK

#define FIFO_WATERMARK   (16) /* Must be between 1 - 32 */

Definition at line 62 of file mma865x_fifo.c.

Referenced by main().

◆ MMA865x_ACCEL_DATA_SIZE

#define MMA865x_ACCEL_DATA_SIZE   (6) /* 2 byte X,Y,Z Axis Data each. */

Definition at line 63 of file mma865x_fifo.c.

Referenced by main().

Function Documentation

◆ main()

int main ( void  )

Main function.

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 FIFO mode.

Wait for data ready from the MMA865x.

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 94 of file mma865x_fifo.c.

References mma865x_acceldata_t::accel, ASK_USER_TO_RESUME, BOARD_BootClockRUN, BOARD_InitDebugConsole(), BOARD_InitPins(), data, FIFO_WATERMARK, I2C_S_DEVICE_INDEX, I2C_S_DRIVER, I2C_S_SIGNAL_EVENT, int32_t(), MMA8652_I2C_ADDR, MMA8652_WHOAMI_VALUE, MMA865x_ACCEL_DATA_SIZE, MMA865x_F_STATUS_F_WMKF_MASK, MMA865x_I2C_Configure(), MMA865x_I2C_Initialize(), MMA865x_I2C_ReadData(), MMA865x_I2C_SetIdleTask(), rawData, SENSOR_ERROR_NONE, SMC, SMC_SetPowerModeWait(), and status.

Here is the call graph for this function:

Variable Documentation

◆ cMma865xConfigFifo

const registerwritelist_t cMma865xConfigFifo[]
Initial value:
=
{
#define MMA865x_XYZ_DATA_CFG_FS_MASK
Definition: mma865x.h:530
#define __END_WRITE_DATA__
Definition: sensor_drv.h:71
#define MMA865x_F_SETUP_F_MODE_STOP_MODE
Definition: mma865x.h:302
#define MMA865x_CTRL_REG1_DR_MASK
Definition: mma865x.h:1534
#define MMA865x_F_SETUP_F_WMRK_MASK
Definition: mma865x.h:290
#define MMA865x_CTRL_REG1_DR_100HZ
Definition: mma865x.h:1551
#define MMA865x_XYZ_DATA_CFG_FS_2G
Definition: mma865x.h:542
#define MMA865x_CTRL_REG2_MODS_MASK
Definition: mma865x.h:1592
#define MMA865x_F_SETUP_F_MODE_MASK
Definition: mma865x.h:293
#define FIFO_WATERMARK
Definition: mma865x_fifo.c:62
#define MMA865x_CTRL_REG2_MODS_HR
Definition: mma865x.h:1623

Prepare the register write list to configure MMA865x in FIFO mode.

Definition at line 69 of file mma865x_fifo.c.

◆ cMma865xFifoStatus

const registerreadlist_t cMma865xFifoStatus[] = {{.readFrom = MMA865x_F_STATUS, .numBytes = 1}, __END_READ_DATA__}

Prepare the register read list to read the FIFO Status from MMA865x.

Definition at line 82 of file mma865x_fifo.c.

◆ cMma865xOutputValues

const registerreadlist_t cMma865xOutputValues[]
Initial value:
= {
#define __END_READ_DATA__
Definition: sensor_drv.h:77
#define MMA865x_ACCEL_DATA_SIZE
Definition: mma865x_fifo.c:63
#define FIFO_WATERMARK
Definition: mma865x_fifo.c:62

Prepare the register read list to read the raw Accel data from MMA865x.

Definition at line 85 of file mma865x_fifo.c.