| ISF 2.1 Intelligent Sensing Framework for Kinetis with Processor Expert

- Main Page
- Modules
- Data Structures
- Files

- File List
- Globals

All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
isf_orientation_types.h
Go to the documentation of this file.
1 /*
2 * @File isf_orientation_types.h
3 *
4 * @brief The \b isf_orientation_types.h file contains the ISF data type definitions for use with the
5 * ISF generic orientation sensor fixed and floating point interface
6 *
7 * @copyright Copyright (c) 2014, Freescale Semiconductor, Inc.
8 */
9
10
11 #ifndef ISF_ORIENTATION_TYPES_H_
12 #define ISF_ORIENTATION_TYPES_H_
13
14
15 #include <isf_sensor_base_types.h>
16
17 #if 0 // TODO - Don't use Fixed point for now
18 /* ISF sensors standard fixed point euler orientation in degrees
19 * using AC_Fixed(16,10,1) notation
20 * This means of 16 total bits, 10 are used to represent
21 * the integer portion with the MSB as a sign bit.
22 * This leaves 6 bits for the fractional portion. The LSB is
23 * therefore ~1.5625E-2 degrees.
24 * The type can contain rotations in the
25 * ~ +/-512 degree range.
26 */
27 typedef int16 isf_orientation_euler_deg_fixed_16s1i10_t;
28
29 /* Euler angle orientation fixed type */
30 typedef struct {
31 isf_timestamp_t timestamp;
32 isf_orientation_euler_deg_fixed_16s1i10_t angles[3];
33 } isf_Orientation3D_Euler_EngFixed_t;
34 #endif
35
36 typedef float isf_orientation_quaternion_float_t;
37
38 // quaternion structure definition
39 typedef struct
40 {
41 isf_timestamp_t timestamp;
42 isf_orientation_quaternion_float_t scalar; // scalar component
43 isf_orientation_quaternion_float_t xvect; // x vector component
44 isf_orientation_quaternion_float_t yvect; // y vector component
45 isf_orientation_quaternion_float_t zvect; // z vector component
46 } isf_Orientation3D_Quaterion_EngFloat_t;
47
48
49 typedef float isf_orientation_euler_deg_float_t;
50
51 /* Euler angle orientation float type */
52 typedef struct {
53 isf_timestamp_t timestamp;
54 isf_orientation_euler_deg_float_t fThe; // pitch (degrees)
55 isf_orientation_euler_deg_float_t fPhi; // roll (degrees)
56 isf_orientation_euler_deg_float_t fPsi; // yaw (degrees)
57 } isf_Orientation3D_Euler_EngFloat_t;
58
59 typedef float isf_orientation_rot_float_t;
60
61 /* Rotation matrix float type */
62 typedef struct {
63 isf_timestamp_t timestamp;
64 isf_orientation_rot_float_t rMatrix[3][3]; // a posteriori orientation matrix
65 } isf_Orientation3D_Rotation_EngFloat_t;
66
67 #endif /* ISF_ORIENTATION_TYPES_H_ */
isf_Orientation3D_Euler_EngFloat_t::fPsi
isf_orientation_euler_deg_float_t fPsi
Definition: isf_orientation_types.h:56
isf_orientation_euler_deg_float_t
float isf_orientation_euler_deg_float_t
Definition: isf_orientation_types.h:49
isf_Orientation3D_Euler_EngFloat_t::fThe
isf_orientation_euler_deg_float_t fThe
Definition: isf_orientation_types.h:54
isf_Orientation3D_Euler_EngFloat_t::timestamp
isf_timestamp_t timestamp
Definition: isf_orientation_types.h:53
isf_Orientation3D_Euler_EngFloat_t::fPhi
isf_orientation_euler_deg_float_t fPhi
Definition: isf_orientation_types.h:55
isf_Orientation3D_Quaterion_EngFloat_t::timestamp
isf_timestamp_t timestamp
Definition: isf_orientation_types.h:41
isf_Orientation3D_Quaterion_EngFloat_t::xvect
isf_orientation_quaternion_float_t xvect
Definition: isf_orientation_types.h:43
isf_Orientation3D_Quaterion_EngFloat_t::yvect
isf_orientation_quaternion_float_t yvect
Definition: isf_orientation_types.h:44
isf_orientation_quaternion_float_t
float isf_orientation_quaternion_float_t
Definition: isf_orientation_types.h:36
isf_Orientation3D_Quaterion_EngFloat_t::scalar
isf_orientation_quaternion_float_t scalar
Definition: isf_orientation_types.h:42
isf_Orientation3D_Rotation_EngFloat_t
Definition: isf_orientation_types.h:62
isf_orientation_rot_float_t
float isf_orientation_rot_float_t
Definition: isf_orientation_types.h:59
isf_sensor_base_types.h
The isf_sensor_base_types.h file contains declarations for the general base types used in the isf sen...
isf_Orientation3D_Quaterion_EngFloat_t::zvect
isf_orientation_quaternion_float_t zvect
Definition: isf_orientation_types.h:45
isf_timestamp_t
uint32 isf_timestamp_t
Standard timestamp.
Definition: isf_sensor_base_types.h:15
int16
short int16
This defines int16 as short.
Definition: isf_types.h:23
isf_Orientation3D_Rotation_EngFloat_t::timestamp
isf_timestamp_t timestamp
Definition: isf_orientation_types.h:63
isf_Orientation3D_Euler_EngFloat_t
Definition: isf_orientation_types.h:52
isf_Orientation3D_Quaterion_EngFloat_t
Definition: isf_orientation_types.h:39
- © Freescale Semiconductor, Inc. 2015. All Rights Reserved.