ISF  2.2 rev 5
Intelligent Sensing Framework for Kinetis with Processor Expert
fsl_fxls8952_i2c_3D_accel.c File Reference

The FXLS8952 Sensor Adapter for the 3-axis consumer accelerometer that supports I2C protocol. More...

#include <isf.h>
#include <isf_types.h>
#include <isf_sm_api.h>
#include <isf_dsa_adapter.h>
#include <isf_bm.h>
#include <isf_sensor_types.h>
#include <isf_fifo.h>
#include <isf_accelerometer_types.h>
#include <isf_comm.h>
#include <isf_util.h>
#include <isf_sensors.h>
#include "fxls8952.h"
#include "fsl_os_abstraction.h"
#include "isf_eventhandler.h"
#include "fsl_fxls8952_i2c_3D_accel.h"
Include dependency graph for fsl_fxls8952_i2c_3D_accel.c:

Go to the source code of this file.

Macros

#define FXLS8952_ACCEL_FLOAT_CONVERSION_FACTOR   (0.1)
 
#define FXLS8952_ACCEL_FLOAT_CONVERSION_OFFSET   (0.0)
 
#define FXLS8952_ACCEL_FIXED_CONVERSION_FACTOR   (1638)
 
#define FXLS8952_ACCEL_FIXED_CONVERSION_OFFSET   (0)
 
#define MAX_ACCEL_FULL_SCALE_RANGE   FXLS8952_RANGE_MAX
 
#define FXLS8952_SAMPLE_PERIOD_MAX   1280409
 
#define FXLS8952_SAMPLE_PERIOD_MIN   312
 
#define GET_ODR_CONFIG   0x0
 
#define GET_ODR_VALUE   0x01
 
#define NUM_STATUS_BYTES   1
 
#define NUMBER_OF_AXES_3D   0x3
 
#define MAX_NUM_AXES   0x3
 
#define MAX_FXLS8952_DM_BYTES   0x30
 
#define NUM_INTERNAL_ADDRESS_BYTES   0x1
 
#define ASSIGN_REG_BITS_VALUE(addr, val, mask, shift)    (addr) = (((addr) & ~ (mask)) | (((val) << shift)& (mask)) )
 
#define GET_MODE(mode)   ((mode) <= FXLS8952_MODE_HYBRID) ? (mode) : FXLS8952_MODE_HYBRID
 
#define GET_STRUCT_MEMBER_ADDRESS(p, m)   (&(p)->m)
 
#define GET_MEMBER_SIZE(p, m)   sizeof((p)->m)
 

Functions

isf_dsa_status_t fsl_fxls8952_i2c_3D_accel_Initialize (isf_SensorHandle_t *pSensorHandle)
 This is the concrete implementation of the FXLS8952 sensor adapter initialization. More...
 
isf_dsa_status_t fsl_fxls8952_i2c_3D_accel_ValidateSettings (isf_SensorHandle_t *pSensorHandle, isf_dsa_SensorSettings_t *pSensorSettings)
 This is the concrete implementation of the FXLS8952 sensor adapter for validating current settings. More...
 
isf_dsa_status_t fsl_fxls8952_i2c_3D_accel_Configure (isf_SensorHandle_t *pSensorHandle, isf_dsa_SensorSettings_t *pSensorSettings)
 This is the concrete implementation of the FXLS8952 sensor adapter for configuration. More...
 
isf_dsa_status_t fsl_fxls8952_i2c_3D_accel_StartData (isf_SensorHandle_t *pSensorHandle)
 This is the concrete implementation of the FXLS8952 sensor adapter for start Data. More...
 
isf_dsa_status_t fsl_fxls8952_i2c_3D_accel_EndData (isf_SensorHandle_t *pSensorHandle)
 This is the concrete implementation of the FXLS8952 sensor adapter for End Data. More...
 
isf_dsa_status_t fsl_fxls8952_i2c_3D_accel_Calibrate (isf_SensorHandle_t *pSensorHandle, void *pCalData)
 This is the concrete implementation of the FXLS8952 sensor adapter for calibration . More...
 
isf_dsa_status_t fsl_fxls8952_i2c_3D_accel_Shutdown (isf_SensorHandle_t *pSensorHandle)
 This is the concrete implementation of the FXLS8952 sensor adapter for shutdown . More...
 
void fsl_fxls8952_i2c_3D_accel_PeriodicCallback (void *pSensorHandle)
 The callback function for the Bus Manager(BM). More...
 
isf_dsa_status_t fsl_fxls8952_i2c_3D_accel_Convert (volatile isf_SensorHandle_t *pSensorHandle, isf_SensorDataTypes_t convertToType, isf_dsa_result_types_t resultType, void *pNativeSample, void *pConvertedSample, int32 *numBytes)
 This function coverts the raw sample data to the desired output type. More...
 

Variables

uint8 LE_BE_check =0
 
isf_SensorTypes_t fxls8952_SupportedSensorTypes [] = { TYPE_ACCELEROMETER_3D, TYPE_NATIVE_SENSOR_TYPE }
 Supported sensor and data types for FXLS8952. More...
 
isf_SensorDataTypes_t fxls8952_SupportedDataTypes [] = { TYPE_RAW_ACCELERATION_3D , TYPE_NATIVE_SENSOR_DATA_TYPE }
 
const fxls8952_ODR_Table_t fxls8952_odrTable []
 The table that describes the configuration value based on ODR (output data rate). Note: This table is irregular after the 25HZ, so can't use FLOORLOG2 algorithm. More...
 
struct {
   float   floatFactor
 
   float   floatOffset
 
   int32   fixedFactor
 
   int32   fixedOffset
 
fxls8952AccelConvTable []
 

Detailed Description

The FXLS8952 Sensor Adapter for the 3-axis consumer accelerometer that supports I2C protocol.

File: fsl_FXLS8952_i2c_3D_accel.c

Copyright (c) 2015, Freescale Semiconductor, Inc.

Definition in file fsl_fxls8952_i2c_3D_accel.c.