![]() |
ISSDK
1.7
IoT Sensing Software Development Kit
|
The mma9553_demo.c file implements the ISSDK MMA9553L sensor driver example demonstration as a Accelerometer in I2C Mode. More...
#include "board.h"
#include "pin_mux.h"
#include "fsl_lptmr.h"
#include "clock_config.h"
#include "Driver_I2C.h"
#include "issdk_hal.h"
#include "gpio_driver.h"
#include "mma9553_drv.h"
#include "host_io_uart.h"
#include "systick_utils.h"
#include "auto_detection_service.h"
Go to the source code of this file.
Macros | |
#define | SAMPLING_RATE_ms (100) /* Timeout for the ODR Timer. */ |
#define | MMA9553_ACCEL_DATA_SIZE (6) /* 2 byte X,Y,Z Axis Data each. */ |
#define | mma9553_en_callback LPTMR0_IRQHandler /* Timer timeout Callback. */ |
#define | MMA9553_STREAM_DATA_SIZE (10) |
#define | APPLICATION_NAME "MMA9553 Pedometer 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 | |
void | mma9553_en_callback (void) |
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 registercommandlist_t | cMma9553Config30Hz [] |
const registerreadlist_t | cMma9553ReadRawOutput [] |
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 | bMma9553DataReady = false |
volatile bool | bMma9553Ready = false |
uint8_t | gStreamID |
int32_t | gSystick |
GENERIC_DRIVER_GPIO * | pGpioDriver = &Driver_GPIO_KSDK |
The mma9553_demo.c file implements the ISSDK MMA9553L sensor driver example demonstration as a Accelerometer in I2C Mode.
Definition in file mma9553_demo.c.
#define APPLICATION_NAME "MMA9553 Pedometer Demo" |
Unique Name for this application which should match the target GUI pkg name.
Definition at line 68 of file mma9553_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 70 of file mma9553_demo.c.
Referenced by main().
#define MMA9553_ACCEL_DATA_SIZE (6) /* 2 byte X,Y,Z Axis Data each. */ |
Definition at line 62 of file mma9553_demo.c.
#define mma9553_en_callback LPTMR0_IRQHandler /* Timer timeout Callback. */ |
Definition at line 63 of file mma9553_demo.c.
#define MMA9553_STREAM_DATA_SIZE (10) |
Definition at line 65 of file mma9553_demo.c.
Referenced by main().
#define SAMPLING_RATE_ms (100) /* Timeout for the ODR Timer. */ |
Definition at line 61 of file mma9553_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 MMA9553 sensor driver.
Set the task to be executed while waiting for I2C transactions to complete.
Configure the MMA9553 sensor driver with 30Hz Mode settings.
Initialize streaming and assign a Stream ID.
Populate streaming header.
Clear the data ready flag, it will be set again by the ISR.
Read the raw sensor data from the MMA9553.
Definition at line 191 of file mma9553_demo.c.
References mma9553_acceldata_t::accel, ADS_MAX_STRING_LENGTH, APPLICATION_NAME, APPLICATION_VERSION, bMma9553DataReady, bMma9553Ready, BOARD_BootClockRUN, BOARD_DEBUG_UART_BAUDRATE, BOARD_RunADS(), BOARD_SystickElapsedTime_us(), BOARD_SystickEnable(), boardString, bStreamingEnabled, GENERIC_DRIVER_GPIO::clr_pin, mma9553_i2c_sensorhandle_t::deviceInfo, embAppName, 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(), MMA9553_I2C_ADDR, MMA9553_I2C_CommandResponse(), MMA9553_I2C_Configure(), MMA9553_I2C_Initialize(), MMA9553_I2C_SetIdleTask(), MMA9553_STREAM_DATA_SIZE, mma9553_i2c_sensorhandle_t::pCommDrv, GENERIC_DRIVER_GPIO::pin_init, process_host_command(), rawData, SAMPLING_RATE_ms, SENSOR_ERROR_NONE, SHIELD_NAME, shieldString, SMC, SMC_SetPowerModeWait(), status, STREAMING_HEADER_LEN, streamingPacket, fxls8962_acceldataUser_t::timestamp, mma9553_acceldata_t::timestamp, and GENERIC_DRIVER_GPIO::toggle_pin.
void mma9553_en_callback | ( | void | ) |
Definition at line 101 of file mma9553_demo.c.
References bMma9553DataReady.
bool process_host_command | ( | uint8_t | tag, |
uint8_t * | hostCommand, | ||
uint8_t * | hostResponse, | ||
size_t * | hostMsgSize, | ||
size_t | respBufferSize | ||
) |
Definition at line 108 of file mma9553_demo.c.
References bMma9553Ready, 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 bMma9553DataReady = false |
Definition at line 92 of file mma9553_demo.c.
Referenced by main(), and mma9553_en_callback().
volatile bool bMma9553Ready = false |
Definition at line 92 of file mma9553_demo.c.
Referenced by main(), and process_host_command().
char boardString[ADS_MAX_STRING_LENGTH] = {0} |
Definition at line 90 of file mma9553_demo.c.
Referenced by main(), and process_host_command().
volatile bool bStreamingEnabled = false |
Definition at line 92 of file mma9553_demo.c.
Referenced by main(), and process_host_command().
const registercommandlist_t cMma9553Config30Hz[] |
Prepare the register write list to configure MMA9553L in 30Hz Mode.
Definition at line 76 of file mma9553_demo.c.
const registerreadlist_t cMma9553ReadRawOutput[] |
Prepare the register read list to read the raw Accel data from MMA9553.
Definition at line 84 of file mma9553_demo.c.
char embAppName[ADS_MAX_STRING_LENGTH] = {0} |
Definition at line 91 of file mma9553_demo.c.
Referenced by main(), and process_host_command().
uint8_t gStreamID |
Definition at line 93 of file mma9553_demo.c.
Referenced by main(), and process_host_command().
int32_t gSystick |
Definition at line 94 of file mma9553_demo.c.
Referenced by main(), and process_host_command().
GENERIC_DRIVER_GPIO* pGpioDriver = &Driver_GPIO_KSDK |
Definition at line 95 of file mma9553_demo.c.
char shieldString[ADS_MAX_STRING_LENGTH] = {0} |
Definition at line 90 of file mma9553_demo.c.
Referenced by main(), and process_host_command().