ISF  2.2 rev 5
Intelligent Sensing Framework for Kinetis with Processor Expert
fsl_mma865x_i2c_3D_accel.h
Go to the documentation of this file.
1 /**
2  * @file fsl_mma865x_i2c_3D_accel.h
3  * @brief The \b fsl_mma865x_i2c_3D_accel.h file contains the definitions and functions supporting the MMA865x Sensor adapter header file
4  * @copyright Copyright (c) 2015, Freescale Semiconductor, Inc.
5  * @version 01.00
6  * @brief
7  *
8  */
9 /*!
10  ** @addtogroup fsl_mma865x_i2c_3D_accel_module fsl_mma865x_i2c_3D_accel module documentation
11  ** @{
12  */
13 
14 #ifndef FSL_MMA865x_I2C_3D_ACCEL_H_
15 #define FSL_MMA865x_I2C_3D_ACCEL_H_
16 
17 /* Include shared modules, which are used for whole project */
18 #include "isf.h"
19 
20 #include "isf_sm_types.h"
21 #include "isf_dsa_adapter.h"
22 
23 /*! @brief This enumerator describes the available sample rates for the MM865X family of accelerometers. */
24 enum {
25  FSL_MMA865x_ACCEL_800HZ = 1250, //!< 800 Hz
26  FSL_MMA865x_ACCEL_400HZ = 2500, //!< 400 Hz
27  FSL_MMA865x_ACCEL_200HZ = 5000, //!< 200 Hz
28  FSL_MMA865x_ACCEL_100HZ = 10000, //!< 100 Hz
29  FSL_MMA865x_ACCEL_50HZ = 20000, //!< 50 Hz
30  FSL_MMA865x_ACCEL_12p5HZ = 80000, //!< 12.5 Hz
31  FSL_MMA865x_ACCEL_6p25HZ = 160000, //!< 6.25 Hz
32  FSL_MMA865x_ACCEL_1p56HZ = 640000 //!< 1.56 Hz
33 };
34 
35 /*! @brief This enumerator describes the available output resolutions for the MM865X family of accelerometers. */
36 enum {
37  FSL_MMA865x_ACCEL_DATA_FULL = 0, //!< select full-scale resolution
38  FSL_MMA865x_ACCEL_DATA_8BIT = 1 //!< select 8-bit resolution
39 };
40 
41 /*! @brief This enumerator describes the available acceleration ranges for the MM865X family of accelerometers. */
42 enum {
43  FSL_MMA865x_ACCEL_SCALE_2G = 0, //!< select +/-2G range
44  FSL_MMA865x_ACCEL_SCALE_4G = 1, //!< select +/-4G range
45  FSL_MMA865x_ACCEL_SCALE_8G = 2 //!< select +/-8G range
46 };
47 
48 /*! @brief This structure defines important settings.*/
49 typedef struct
50 {
51  uint8 sampleRateIndex; //!< Holds the ODR index into the rate array fsl_mma865x_period */
53 
54 /*! @brief This structure defines the dummy DSA data buffer format.*/
55 typedef struct {
56  uint32 timeStamp; /*!< The time stamp for the data packet.*/
57  int16 accel[3]; /*!< The accelerometer data */
58  uint8 addr; /*!< The device "address" can uniquely identify the sensor */
60 
61 /*! @brief Supported sensor and data types for MMA865x */
64 
65 
66 /*
67  ** ===================================================================
68  ** Method : fsl_mma865x_i2c_3D_accel_Initialize
69  ** @brief
70  **
71  ** Parameters :
72  ** NAME - DESCRIPTION
73  ** @param
74  ** isf_SensorHandle_t *pSensorHandle
75  ** @return
76  ** isf_dsa_status_t -
77  ** ===================================================================
78  */
80 
81 /*
82  ** ===================================================================
83  ** Method : fsl_mma865x_i2c_3D_accel_ValidateSettings
84  ** @brief
85  **
86  ** Parameters :
87  ** NAME - DESCRIPTION
88  ** @param
89  ** isf_SensorHandle_t *pSensorHandle
90  ** @param
91  ** isf_SubscriptionSettings_t *pSettings
92  ** @return
93  ** isf_dsa_status_t -
94  ** ===================================================================
95  */
97 
98 /*
99  ** ===================================================================
100  ** Method : fsl_mma865x_i2c_3D_accel_Configure
101  ** @brief
102  **
103  ** Parameters :
104  ** NAME - DESCRIPTION
105  ** @param
106  ** isf_SensorHandle_t *pSensorHandle
107  ** @param
108  ** isf_SubscriptionSettings_t *pConfigSettings
109  ** @return
110  ** isf_dsa_status_t -
111  ** ===================================================================
112  */
114 
115 /*
116  ** ===================================================================
117  ** Method : fsl_mma865x_i2c_3D_accel_StartData
118  ** @brief
119  **
120  ** Parameters :
121  ** NAME - DESCRIPTION
122  ** @param
123  ** isf_SensorHandle_t *pSensorHandle
124  ** @return
125  ** isf_dsa_status_t -
126  ** ===================================================================
127  */
129 
130 /*
131  ** ===================================================================
132  ** Method : fsl_mma865x_i2c_3D_accel_EndData
133  ** @brief
134  **
135  ** Parameters :
136  ** NAME - DESCRIPTION
137  ** @param
138  ** isf_SensorHandle_t *pSensorHandle
139  ** @return
140  ** isf_dsa_status_t -
141  ** ===================================================================
142  */
144 
145 /*
146  ** ===================================================================
147  ** Method : fsl_mma865x_i2c_3D_accel_Calibrate
148  ** @brief
149  **
150  ** Parameters :
151  ** NAME - DESCRIPTION
152  ** @param
153  ** isf_SensorHandle_t *pSensorHandle
154  ** @return
155  ** isf_dsa_status_t -
156  ** ===================================================================
157  */
159 
160 /*
161  ** ===================================================================
162  ** Method : fsl_mma865x_i2c_3D_accel_Shutdown
163  ** @brief
164  **
165  ** Parameters :
166  ** NAME - DESCRIPTION
167  ** @param
168  ** isf_SensorHandle_t *pSensorHandle
169  ** @return
170  ** isf_dsa_status_t -
171  ** ===================================================================
172  */
174 
175 /*
176  ** ===================================================================
177  ** Method : fsl_mma865x_i2c_3D_accel_Convert
178  ** @brief The DSA interface conversion function to convert native samples to specified standard types
179  **
180  ** Parameters :
181  ** NAME - DESCRIPTION
182  ** @param
183  ** isf_SensorHandle_t *pSensorHandle
184  ** @return
185  ** void -
186  ** ===================================================================
187  */
188 isf_dsa_status_t fsl_mma865x_i2c_3D_accel_Convert(volatile isf_SensorHandle_t *pSensorHandle, isf_SensorDataTypes_t convertToType, isf_dsa_result_types_t resultType, void *nativeSample, void *convertedSample, int32 *numBytes );
189 /*
190  ** ===================================================================
191  ** Method : fsl_mma865x_i2c_3D_accel_PeriodicCallback (component ISFDSA)
192  ** @brief
193  **
194  ** Parameters :
195  ** NAME - DESCRIPTION
196  ** @param
197  ** isf_SensorHandle_t *pSensorHandle
198  ** @return
199  ** void -
200  ** ===================================================================
201  */
202 void fsl_mma865x_i2c_3D_accel_PeriodicCallback(void* pSensorHandle);
203 
204 #endif
205 /* END FSL_MMA865x_I2C_3D_ACCEL_H_ */
206 /*!
207 ** @}
208 */
209 
isf_dsa_status_t fsl_mma865x_i2c_3D_accel_Initialize(isf_SensorHandle_t *pSensorHandle)
This structure defines the dummy DSA data buffer format.
unsigned char uint8
Definition: isf_types.h:76
isf_dsa_status_t fsl_mma865x_i2c_3D_accel_EndData(isf_SensorHandle_t *pSensorHandle)
isf_dsa_status_t fsl_mma865x_i2c_3D_accel_Calibrate(isf_SensorHandle_t *pSensorHandle, void *pCalData)
This defines the DSA sensor device handle structure used to invoke the adapter access functions...
uint8 sampleRateIndex
Holds the ODR index into the rate array fsl_mma865x_period */.
isf_dsa_status_t fsl_mma865x_i2c_3D_accel_StartData(isf_SensorHandle_t *pSensorHandle)
isf_SensorDataTypes_t mma865x_SupportedDataTypes[]
isf_SensorTypes_t
int32 isf_dsa_status_t
This is the Sensor Manager API return type definition.
isf_SensorTypes_t mma865x_SupportedSensorTypes[]
Supported sensor and data types for MMA865x.
signed short int int16
Definition: isf_types.h:73
isf_dsa_status_t fsl_mma865x_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.
isf_dsa_status_t fsl_mma865x_i2c_3D_accel_Shutdown(isf_SensorHandle_t *pSensorHandle)
enum isf_dsa_result_enums isf_dsa_result_types_t
void fsl_mma865x_i2c_3D_accel_PeriodicCallback(void *pSensorHandle)
isf_SensorDataTypes_t
Main ISF header file. Contains code common to all ISF components.
signed long int int32
Definition: isf_types.h:74
This defines the DSA sensor configuration parameter structure configuring the sensor settings by a su...
select full-scale resolution
isf_dsa_status_t fsl_mma865x_i2c_3D_accel_Configure(isf_SensorHandle_t *pSensorHandle, isf_dsa_SensorSettings_t *pSensorSettings)
isf_dsa_status_t fsl_mma865x_i2c_3D_accel_ValidateSettings(isf_SensorHandle_t *pSensorHandle, isf_dsa_SensorSettings_t *pSensorSettings)
This structure defines important settings.
unsigned long int uint32
Definition: isf_types.h:78
The isf_sm_types.h contains the collection of type definitions used in the Sensor Manager Interface a...