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

The fxos8700.c file implements the ISSDK FXOS8700 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 "fxos8700_drv.h"
Include dependency graph for fxos8700_fifo.c:

Go to the source code of this file.

Macros

#define FIFO_SIZE   4
 The watermark value configured for FXAS21002 FIFO Buffer. More...
 
#define RAW_ACCEL_DATA_SIZE   (6)
 

Functions

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

Variables

const registerwritelist_t fxos8700_Config_with_Fifo []
 
const registerreadlist_t FXOS8700_STATUS_READ [] = {{.readFrom = FXOS8700_STATUS, .numBytes = 1}, __END_READ_DATA__}
 
const registerreadlist_t FXOS8700_ACCEL_FIFO_READ []
 

Detailed Description

The fxos8700.c file implements the ISSDK FXOS8700 sensor driver example demonstration with FIFO mode.

Definition in file fxos8700_fifo.c.

Macro Definition Documentation

◆ FIFO_SIZE

#define FIFO_SIZE   4

The watermark value configured for FXAS21002 FIFO Buffer.

Definition at line 61 of file fxos8700_fifo.c.

Referenced by main().

◆ RAW_ACCEL_DATA_SIZE

#define RAW_ACCEL_DATA_SIZE   (6)

Definition at line 62 of file fxos8700_fifo.c.

Referenced by main().

Function Documentation

◆ main()

int main ( void  )

Main function.

Initialize the MCU hardware.

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.

Wait for the FIFO watermark event.

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 90 of file fxos8700_fifo.c.

References fxos8700_accelmagdata_t::accel, ASK_USER_TO_RESUME, BOARD_BootClockRUN, BOARD_InitDebugConsole(), BOARD_InitPins(), data, FIFO_SIZE, FXOS8700_F_STATUS_F_WMRK_FLAG_MASK, FXOS8700_I2C_ADDR, FXOS8700_I2C_Configure(), FXOS8700_I2C_Initialize(), FXOS8700_I2C_ReadData(), FXOS8700_I2C_SetIdleTask(), FXOS8700_WHO_AM_I_PROD_VALUE, I2C_S_DEVICE_INDEX, I2C_S_DRIVER, I2C_S_SIGNAL_EVENT, int32_t(), RAW_ACCEL_DATA_SIZE, rawData, SENSOR_ERROR_NONE, SMC, SMC_SetPowerModeWait(), and status.

Here is the call graph for this function:

Variable Documentation

◆ FXOS8700_ACCEL_FIFO_READ

const registerreadlist_t FXOS8700_ACCEL_FIFO_READ[]
Initial value:
= {
#define __END_READ_DATA__
Definition: sensor_drv.h:77
#define RAW_ACCEL_DATA_SIZE
Definition: fxos8700_fifo.c:62
#define FIFO_SIZE
The watermark value configured for FXAS21002 FIFO Buffer.
Definition: fxos8700_fifo.c:61

Command definition to read the FIFO_SIZE Bytes of Accel Data

Definition at line 81 of file fxos8700_fifo.c.

◆ fxos8700_Config_with_Fifo

const registerwritelist_t fxos8700_Config_with_Fifo[]
Initial value:
= {
#define __END_WRITE_DATA__
Definition: sensor_drv.h:71
#define FXOS8700_CTRL_REG1_DR_SINGLE_12P5_HZ
Definition: fxos8700.h:1549
#define FXOS8700_F_SETUP_F_WMRK_MASK
Definition: fxos8700.h:473
#define FXOS8700_F_SETUP_F_MODE_FIFO_STOP_OVF
Definition: fxos8700.h:487
#define FIFO_SIZE
The watermark value configured for FXAS21002 FIFO Buffer.
Definition: fxos8700_fifo.c:61
#define FXOS8700_F_SETUP_F_MODE_MASK
Definition: fxos8700.h:476
#define FXOS8700_F_SETUP_F_WMRK_SHIFT
Definition: fxos8700.h:474
#define FXOS8700_CTRL_REG1_DR_MASK
Definition: fxos8700.h:1530

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

Definition at line 68 of file fxos8700_fifo.c.

◆ FXOS8700_STATUS_READ

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 78 of file fxos8700_fifo.c.