![]() |
ISSDK
1.7
IoT Sensing Software Development Kit
|
The fxas21002_poll_demo.c file implements the ISSDK FXAS21002 sensor demo example demonstration with Poll mode. More...
#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 "host_io_uart.h"
#include "systick_utils.h"
#include "fxas21002_drv.h"
#include "auto_detection_service.h"
Go to the source code of this file.
Data Structures | |
struct | fxas21002_gyrodataUser_t |
This structure defines the fxas21002 raw data buffer. More... | |
Macros | |
#define | FXAS21002_STREAM_DATA_SIZE 12 |
#define | APPLICATION_NAME "FXAS21002 Gyroscope 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... | |
#define | SKIP_PACKET_COUNT 5 |
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 | fxas21002_Config_Isr [] |
const registerreadlist_t | fxas21002_Status [] = {{.readFrom = FXAS21002_STATUS, .numBytes = 1}, __END_READ_DATA__} |
const registerreadlist_t | fxas21002_Output_Values [] |
const registerreadlist_t | fxas21002_Reg [] |
const registerreadlist_t | fxas21002_Temp [] |
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 | bFxas21002Ready = false |
volatile uint8_t | bSkipPacket = 0 |
uint8_t | gStreamID |
int32_t | gSystick |
GENERIC_DRIVER_GPIO * | pGpioDriver = &Driver_GPIO_KSDK |
The fxas21002_poll_demo.c file implements the ISSDK FXAS21002 sensor demo example demonstration with Poll mode.
Definition in file fxas21002_poll_demo.c.
#define APPLICATION_NAME "FXAS21002 Gyroscope Demo" |
Unique Name for this application which should match the target GUI pkg name.
Definition at line 70 of file fxas21002_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 72 of file fxas21002_poll_demo.c.
Referenced by main().
#define FXAS21002_STREAM_DATA_SIZE 12 |
Definition at line 67 of file fxas21002_poll_demo.c.
Referenced by main().
#define SKIP_PACKET_COUNT 5 |
Definition at line 74 of file fxas21002_poll_demo.c.
Referenced by process_host_command().
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 FXAS21002 sensor driver.
Set the task to be executed while waiting for SPI transactions to complete.
Configure the FXAS21002 sensor.
Initialize streaming and assign a Stream ID.
Populate streaming header.
Keep checking the Status FLAG for completion.
Read new raw sensor data from the FXAS21002.
Convert the raw sensor data to signed 16-bit container for display to the debug port.
Definition at line 211 of file fxas21002_poll_demo.c.
References ADS_MAX_STRING_LENGTH, APPLICATION_NAME, APPLICATION_VERSION, bFxas21002Ready, BOARD_BootClockRUN, BOARD_DEBUG_UART_BAUDRATE, BOARD_RunADS(), BOARD_SystickElapsedTime_us(), BOARD_SystickEnable(), boardString, bSkipPacket, bStreamingEnabled, GENERIC_DRIVER_GPIO::clr_pin, data, fxas21002_i2c_sensorhandle_t::deviceInfo, embAppName, FXAS21002_DR_STATUS_ZYXDR_MASK, FXAS21002_GYRO_DATA_SIZE, FXAS21002_I2C_ADDR, FXAS21002_I2C_Configure(), FXAS21002_I2C_Initialize(), FXAS21002_I2C_ReadData(), FXAS21002_I2C_SetIdleTask(), FXAS21002_STREAM_DATA_SIZE, FXAS21002_WHO_AM_I_WHOAMI_PROD_VALUE, GPIO_DIRECTION_OUT, GREEN_LED, gStreamID, gSystick, fxas21002_gyrodataUser_t::gyro, 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(), fxas21002_gyrodataUser_t::intsrc, fxas21002_i2c_sensorhandle_t::pCommDrv, GENERIC_DRIVER_GPIO::pin_init, process_host_command(), rawData, SENSOR_ERROR_NONE, SHIELD_NAME, shieldString, SMC, SMC_SetPowerModeWait(), status, STREAMING_HEADER_LEN, streamingPacket, fxas21002_gyrodataUser_t::temp, fxas21002_gyrodataUser_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 127 of file fxas21002_poll_demo.c.
References bFxas21002Ready, BOARD_SystickStart(), boardString, bSkipPacket, 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, shieldString, and SKIP_PACKET_COUNT.
Referenced by main().
volatile bool bFxas21002Ready = false |
Definition at line 117 of file fxas21002_poll_demo.c.
Referenced by main(), and process_host_command().
char boardString[ADS_MAX_STRING_LENGTH] = {0} |
Definition at line 115 of file fxas21002_poll_demo.c.
Referenced by main(), and process_host_command().
volatile uint8_t bSkipPacket = 0 |
Definition at line 118 of file fxas21002_poll_demo.c.
Referenced by main(), and process_host_command().
volatile bool bStreamingEnabled = false |
Definition at line 117 of file fxas21002_poll_demo.c.
Referenced by main(), and process_host_command().
char embAppName[ADS_MAX_STRING_LENGTH] = {0} |
Definition at line 116 of file fxas21002_poll_demo.c.
Referenced by main(), and process_host_command().
const registerwritelist_t fxas21002_Config_Isr[] |
Prepare the register write list to configure FXAS21002 in non-FIFO mode.
Definition at line 89 of file fxas21002_poll_demo.c.
const registerreadlist_t fxas21002_Output_Values[] |
Prepare the register read list to read the raw gyro data from the FXAS21002.
Definition at line 103 of file fxas21002_poll_demo.c.
const registerreadlist_t fxas21002_Reg[] |
Definition at line 106 of file fxas21002_poll_demo.c.
const registerreadlist_t fxas21002_Status[] = {{.readFrom = FXAS21002_STATUS, .numBytes = 1}, __END_READ_DATA__} |
Prepare the register read list to read the status register from the FXAS21002.
Definition at line 100 of file fxas21002_poll_demo.c.
const registerreadlist_t fxas21002_Temp[] |
Definition at line 109 of file fxas21002_poll_demo.c.
uint8_t gStreamID |
Definition at line 119 of file fxas21002_poll_demo.c.
Referenced by main(), and process_host_command().
int32_t gSystick |
Definition at line 120 of file fxas21002_poll_demo.c.
Referenced by main(), and process_host_command().
GENERIC_DRIVER_GPIO* pGpioDriver = &Driver_GPIO_KSDK |
Definition at line 121 of file fxas21002_poll_demo.c.
char shieldString[ADS_MAX_STRING_LENGTH] = {0} |
Definition at line 115 of file fxas21002_poll_demo.c.
Referenced by main(), and process_host_command().