![]() |
ISSDK
1.7
IoT Sensing Software Development Kit
|
#include "board.h"
#include "pin_mux.h"
#include "clock_config.h"
#include "Driver_I2C.h"
#include "Driver_USART.h"
#include "issdk_hal.h"
#include "gpio_driver.h"
#include "fxos8700_drv.h"
#include "host_io_uart.h"
#include "systick_utils.h"
#include "auto_detection_service.h"
Go to the source code of this file.
Data Structures | |
struct | fxos8700_accelmagdataUser_t |
This structure defines the fxos8700 raw data buffer. More... | |
Macros | |
#define | RAW_ACCEL_MAG_DATA_SIZE 12 |
#define | FXOS8700_STREAM_DATA_SIZE 17 |
#define | APPLICATION_NAME "FXOS8700 6-axis (Accel, Mag) Demo" |
Unique Name for this application which should match the target GUI pkg name. More... | |
#define | APPLICATION_VERSION "2.5" |
Version to distinguish between instances the same application based on target Shield and updates. More... | |
Functions | |
bool | process_host_command (uint8_t tag, uint8_t *hostCommand, uint8_t *hostResponse, size_t *hostMsgSize, size_t respBufferSize) |
int | main (void) |
Main function. More... | |
Variables | |
const registerwritelist_t | fxos8700_Config_InterruptHybrid [] |
const registerreadlist_t | FXOS8700_ACCEL_READ [] |
const registerreadlist_t | FXOS8700_STATUS_READ [] = {{.readFrom = FXOS8700_STATUS, .numBytes = 1}, __END_READ_DATA__} |
const registerreadlist_t | cFXOS8700_int_src [] |
const registerreadlist_t | cFXOS8700_ffmt_src [] |
const registerreadlist_t | cFXOS8700_pl_status [] |
char | boardString [ADS_MAX_STRING_LENGTH] = {0} |
char | shieldString [ADS_MAX_STRING_LENGTH] = {0} |
char | embAppName [ADS_MAX_STRING_LENGTH] = {0} |
volatile bool | bStreamingEnabled = false |
volatile bool | bFxos8700Ready = false |
uint8_t | gStreamID |
int32_t | gSystick |
GENERIC_DRIVER_GPIO * | pGpioDriver = &Driver_GPIO_KSDK |
#define APPLICATION_NAME "FXOS8700 6-axis (Accel, Mag) Demo" |
Unique Name for this application which should match the target GUI pkg name.
Definition at line 71 of file fxos8700_poll_demo.c.
Referenced by main().
#define APPLICATION_VERSION "2.5" |
Version to distinguish between instances the same application based on target Shield and updates.
Definition at line 73 of file fxos8700_poll_demo.c.
Referenced by main().
#define FXOS8700_STREAM_DATA_SIZE 17 |
Definition at line 68 of file fxos8700_poll_demo.c.
Referenced by main().
#define RAW_ACCEL_MAG_DATA_SIZE 12 |
Definition at line 67 of file fxos8700_poll_demo.c.
Referenced by main().
int main | ( | void | ) |
Main function.
Initialize the MCU hardware.
Initialize RGB LED pin used by FRDM board
Initialize the I2C driver.
Set the I2C Power mode.
Set the I2C bus speed.
Initialize the UART driver.
Set the UART Power mode.
Set UART Baud Rate.
Initialize the FXOS8700 sensor driver.
Set the task to be executed while waiting for I2C transactions to complete.
Configure the fxos8700 sensor driver.
Initialize streaming and assign a Stream ID.
Populate streaming header.
Keep checking the Status FLAG for completion.
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 249 of file fxos8700_poll_demo.c.
References fxos8700_accelmagdataUser_t::accel, ADS_MAX_STRING_LENGTH, APPLICATION_NAME, APPLICATION_VERSION, bFxos8700Ready, BOARD_BootClockRUN, BOARD_DEBUG_UART_BAUDRATE, BOARD_RunADS(), BOARD_SystickElapsedTime_us(), BOARD_SystickEnable(), boardString, bStreamingEnabled, GENERIC_DRIVER_GPIO::clr_pin, data, fxos8700_i2c_sensorhandle_t::deviceInfo, embAppName, FXOS8700_DR_STATUS_ZYXDR_MASK, FXOS8700_I2C_ADDR, FXOS8700_I2C_Configure(), FXOS8700_I2C_Initialize(), FXOS8700_I2C_ReadData(), FXOS8700_I2C_SetIdleTask(), FXOS8700_STREAM_DATA_SIZE, FXOS8700_WHO_AM_I_PROD_VALUE, GPIO_DIRECTION_OUT, GREEN_LED, gStreamID, gSystick, HOST_FORMAT_HDLC, Host_IO_Add_ISO_Header(), Host_IO_Init(), Host_IO_Receive(), Host_IO_Send(), HOST_S_DRIVER, HOST_S_SIGNAL_EVENT, I2C_S_DEVICE_INDEX, I2C_S_DRIVER, I2C_S_SIGNAL_EVENT, int32_t(), fxos8700_accelmagdataUser_t::intsrc, fxos8700_accelmagdataUser_t::mag, fxos8700_i2c_sensorhandle_t::pCommDrv, GENERIC_DRIVER_GPIO::pin_init, process_host_command(), RAW_ACCEL_MAG_DATA_SIZE, rawData, SENSOR_ERROR_NONE, SHIELD_NAME, shieldString, SMC, SMC_SetPowerModeWait(), status, STREAMING_HEADER_LEN, streamingPacket, fxos8700_accelmagdataUser_t::timestamp, fxls8962_acceldataUser_t::timestamp, and GENERIC_DRIVER_GPIO::toggle_pin.
bool process_host_command | ( | uint8_t | tag, |
uint8_t * | hostCommand, | ||
uint8_t * | hostResponse, | ||
size_t * | hostMsgSize, | ||
size_t | respBufferSize | ||
) |
Definition at line 166 of file fxos8700_poll_demo.c.
References bFxos8700Ready, BOARD_SystickStart(), boardString, bStreamingEnabled, GENERIC_DRIVER_GPIO::clr_pin, embAppName, GREEN_LED, gStreamID, gSystick, HOST_CMD_START, HOST_CMD_STOP, HOST_MSG_CMD_ACT_OFFSET, HOST_MSG_LEN_LSB_OFFSET, HOST_PRO_CMD_W_CFG_TAG, HOST_PRO_INT_CMD_TAG, HOST_PRO_INT_DEV_TAG, and shieldString.
Referenced by main().
volatile bool bFxos8700Ready = false |
Definition at line 157 of file fxos8700_poll_demo.c.
Referenced by main(), and process_host_command().
char boardString[ADS_MAX_STRING_LENGTH] = {0} |
Definition at line 155 of file fxos8700_poll_demo.c.
Referenced by main(), and process_host_command().
volatile bool bStreamingEnabled = false |
Definition at line 157 of file fxos8700_poll_demo.c.
Referenced by main(), and process_host_command().
const registerreadlist_t cFXOS8700_ffmt_src[] |
Definition at line 146 of file fxos8700_poll_demo.c.
const registerreadlist_t cFXOS8700_int_src[] |
Definition at line 143 of file fxos8700_poll_demo.c.
const registerreadlist_t cFXOS8700_pl_status[] |
Definition at line 149 of file fxos8700_poll_demo.c.
char embAppName[ADS_MAX_STRING_LENGTH] = {0} |
Definition at line 156 of file fxos8700_poll_demo.c.
Referenced by main(), and process_host_command().
const registerreadlist_t FXOS8700_ACCEL_READ[] |
Command definition to read the Accel+Mag Data
Definition at line 137 of file fxos8700_poll_demo.c.
const registerwritelist_t fxos8700_Config_InterruptHybrid[] |
Prepare the register write list to configure FXOS8700 in non-FIFO mode.
Definition at line 88 of file fxos8700_poll_demo.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 141 of file fxos8700_poll_demo.c.
uint8_t gStreamID |
Definition at line 158 of file fxos8700_poll_demo.c.
Referenced by main(), and process_host_command().
int32_t gSystick |
Definition at line 159 of file fxos8700_poll_demo.c.
Referenced by main(), and process_host_command().
GENERIC_DRIVER_GPIO* pGpioDriver = &Driver_GPIO_KSDK |
Definition at line 160 of file fxos8700_poll_demo.c.
char shieldString[ADS_MAX_STRING_LENGTH] = {0} |
Definition at line 155 of file fxos8700_poll_demo.c.
Referenced by main(), and process_host_command().