ISF  2.2 rev 5
Intelligent Sensing Framework for Kinetis with Processor Expert
sensor_data_types.h
Go to the documentation of this file.
1 /*
2  *
3  * Copyright (c) 2015, Freescale Semiconductor, Inc.
4  *
5 */
6 /*
7  * sensor_data_types.h
8  *
9  * Created on: Nov 26, 2013,
10  * Author: B37804
11  */
12 
13 #ifndef SENSOR_DATA_TYPES_H_
14 #define SENSOR_DATA_TYPES_H_
15 
16 #include "basic_types.h"
17 #include "fusion_config.h"
18 
19 // gyro sensor structure definition
21 {
22  int32 iH; // most recent unaveraged height (counts)
23  int32 iP; // most recent unaveraged pressure (counts)
24  float fH; // most recent unaveraged height (m)
25  float fT; // most recent unaveraged temperature (C)
26  float fmPerCount; // meters per count
27  float fCPerCount; // degrees Celsius per count
28  int16 iT; // most recent unaveraged temperature (counts)
29  uint8 iWhoAmI; // sensor whoami
30 };
31 
32 // accelerometer sensor structure definition
34 {
35  //float fSumGpFast[3]; // sum of fast measurements
36  float fGs[3]; // most recent unaveraged measurement (counts)
37  float fGsAvg[3]; // averaged measurement (g)
38  float fgPerCount; // g per count
39  int16 iGsBuffer[ACCEL_OVERSAMPLE_RATIO][3]; // buffered measurements (counts)
40  int16 iGs[3]; // most recent unaveraged measurement (counts)
41  int16 iGsAvg[3]; // averaged measurement (counts)
42  int16 iCountsPerg; // counts per g
43  uint8 iWhoAmI; // sensor whoami
44 };
45 
46 // magnetometer sensor structure definition
47 struct MagSensor
48 {
49  //float fSumBpFast[3]; // sum of fast measurements
50  float fBs[3]; // most recent unaveraged uncalibrated measurement (counts)
51  float fBsAvg[3]; // averaged un-calibrated measurement (uT)
52  float fBcAvg[3]; // averaged calibrated measurement (uT)
53  float fuTPerCount; // uT per count
54  float fCountsPeruT; // counts per uT
55  int16 iBsBuffer[MAG_OVERSAMPLE_RATIO][3]; // buffered uncalibrated measurement (counts)
56  int16 iBs[3]; // most recent unaveraged uncalibrated measurement (counts)
57  int16 iBsAvg[3]; // averaged uncalibrated measurement (counts)
58  int16 iBcAvg[3]; // averaged calibrated measurement (counts)
59  int16 iCountsPeruT; // counts per uT
60  uint8 iWhoAmI; // sensor whoami
61 };
62 
63 // gyro sensor structure definition
64 struct GyroSensor
65 {
66  float fDegPerSecPerCount; // deg/s per count
67  float fYpBuffer[GYRO_OVERSAMPLE_RATIO][3]; // buffered sensor frame measurements (counts)
68  int16 iYsBuffer[GYRO_OVERSAMPLE_RATIO][3]; // buffered sensor frame measurements (counts)
69  int16 iCountsPerDegPerSec; // counts per deg/s
70  int16 iYs[3]; // most recent sensor frame measurement (counts)
71  uint8 iWhoAmI; // sensor whoami
72 };
73 
74 // SampleData structure definition
76 {
81 };
82 
83 #endif /* SENSOR_DATA_TYPES_H_ */
84 
unsigned char uint8
Definition: isf_types.h:76
int16 iBsAvg[3]
float fDegPerSecPerCount
struct GyroSensor gyroData
int16 iBcAvg[3]
int16 iBs[3]
#define GYRO_OVERSAMPLE_RATIO
Definition: fusion_config.h:25
float fBsAvg[3]
int16 iGsBuffer[ACCEL_OVERSAMPLE_RATIO][3]
struct PressureSensor pressureData
int16 iYsBuffer[GYRO_OVERSAMPLE_RATIO][3]
struct MagSensor magData
float fBs[3]
#define MAG_OVERSAMPLE_RATIO
Definition: fusion_config.h:24
signed short int int16
Definition: isf_types.h:73
float fYpBuffer[GYRO_OVERSAMPLE_RATIO][3]
The fusion_config.h file contains additional static configuration for the Sensor Fusion based Virtual...
int16 iCountsPeruT
signed long int int32
Definition: isf_types.h:74
int16 iCountsPerDegPerSec
struct AccelSensor AccelData
int16 iBsBuffer[MAG_OVERSAMPLE_RATIO][3]
float fCountsPeruT
#define ACCEL_OVERSAMPLE_RATIO
Definition: fusion_config.h:23
float fBcAvg[3]