DI_CH08_1_1.h
Go to the documentation of this file.
1 /* This file provides the definition of the struct AlgoIFOutput in the interface version DIA1_1.1.
2 
3  It also provides endianess-aware functions to safely convert a binary buffer to an
4  instance of this struct (if possible).
5 */
6 
7 #ifndef IFM_O3M_ALGOIFOUTPUT_DIA1_1_1_CONVERTER_H_INCLUDED
8 #define IFM_O3M_ALGOIFOUTPUT_DIA1_1_1_CONVERTER_H_INCLUDED
9 
10 #include "ifm_types.h"
11 
12 /* For a documentation of the struct members refer to your reference manual.
13  The struct has explicit padding, so that it should be usable on any target
14  without special compiler flags or pragmas related to padding.
15 */
16 typedef struct
17 {
18  ifm_o3m_sint8_t magic_no[4];
19  ifm_o3m_sint8_t struct_id[4];
20  ifm_o3m_uint8_t version[2];
21  ifm_o3m_uint8_t pad_001; /* explicit padding, do not access this member */
22  ifm_o3m_uint8_t pad_002; /* explicit padding, do not access this member */
23  struct
24  {
27  ifm_o3m_uint16_t distanceData[1024];
31  ifm_o3m_uint16_t confidence[1024];
32  ifm_o3m_uint16_t amplitude[1024];
33  ifm_o3m_float32_t amplitude_normalization[4];
37  struct
38  {
45  } cameraCalibration;
46  struct
47  {
48  ifm_o3m_float32_t upperLeft[3];
49  ifm_o3m_float32_t upperRight[3];
50  ifm_o3m_float32_t lowerLeft[3];
51  ifm_o3m_float32_t lowerRight[3];
52  } fieldOfView;
53  struct
54  {
74  } intrExtrCalib_2d;
75  ifm_o3m_float32_t illuPosition[3];
76  } distanceImageResult;
77  struct
78  {
79  struct
80  {
83  struct
84  {
85  ifm_o3m_float32_t transX;
86  ifm_o3m_float32_t transY;
87  ifm_o3m_float32_t transZ;
88  ifm_o3m_float32_t rotX;
89  ifm_o3m_float32_t rotY;
90  ifm_o3m_float32_t rotZ;
91  } calibResult;
92  } commonCalibrationResult;
93  struct
94  {
96  ifm_o3m_uint8_t pad_001; /* explicit padding, do not access this member */
97  ifm_o3m_uint8_t pad_002; /* explicit padding, do not access this member */
98  ifm_o3m_uint8_t pad_003; /* explicit padding, do not access this member */
99  struct
100  {
103  ifm_o3m_float32_t corners[3][2];
104  } triangleDetections[8];
107  } pacCalibrationResult;
108  struct
109  {
111  struct
112  {
119  } planeEstimation;
122  } streetCalibrationResult;
123  } calibrationResult;
125 
126 
127 /* Casts the buffer to ifm_o3m_AlgoIFOutput_DIA1_1_1 (if possible) and returns a pointer to it.
128  Use this function on little Endian systems.
129 
130  Returns NULL in case of errors. */
132 
133 /* Converts the endianess of the buffer to native form and returns a pointer to ifm_o3m_AlgoIFOutput_DIA1_1_1.
134  Note: The original buffer is modified in place.
135  Use this function on big Endian systems.
136 
137  Returns NULL in case of errors. */
139 
140 #endif
ifm_o3m_sint32_t frameValid
Definition: DI_CH08_1_1.h:105
ifm_o3m_sint32_t calibValid
Definition: DI_CH08_1_1.h:81
ifm_o3m_float32_t camHeight
Definition: DI_CH08_1_1.h:115
ifm_o3m_float32_t intrCalib_2D_fy
Definition: DI_CH08_1_1.h:56
unsigned int ifm_o3m_uint32_t
Definition: ifm_types.h:7
ifm_o3m_float32_t frameReprojectError
Definition: DI_CH08_1_1.h:106
signed int ifm_o3m_sint32_t
Definition: ifm_types.h:8
ifm_o3m_float32_t extrCalib_center_ty
Definition: DI_CH08_1_1.h:66
ifm_o3m_float32_t extrCalib_rot_z
Definition: DI_CH08_1_1.h:73
ifm_o3m_float32_t intrCalib_k4
Definition: DI_CH08_1_1.h:64
ifm_o3m_float32_t rollAngle
Definition: DI_CH08_1_1.h:114
ifm_o3m_float32_t extrCalib_center_tx
Definition: DI_CH08_1_1.h:65
ifm_o3m_sint32_t calibrationStableCounter
Definition: DI_CH08_1_1.h:82
ifm_o3m_float32_t extrCalib_delta_tz
Definition: DI_CH08_1_1.h:70
ifm_o3m_uint16_t sensorWidth
Definition: DI_CH08_1_1.h:25
ifm_o3m_float32_t normaly
Definition: DI_CH08_1_1.h:117
unsigned short ifm_o3m_uint16_t
Definition: ifm_types.h:4
ifm_o3m_uint32_t available
Definition: DI_CH08_1_1.h:36
ifm_o3m_float32_t intrCalib_2D_my
Definition: DI_CH08_1_1.h:58
ifm_o3m_float32_t normalx
Definition: DI_CH08_1_1.h:116
ifm_o3m_float32_t intrCalib_alpha
Definition: DI_CH08_1_1.h:59
ifm_o3m_float32_t intrCalib_k3
Definition: DI_CH08_1_1.h:63
ifm_o3m_AlgoIFOutput_DIA1_1_1 * ifm_o3m_ConvertBufferToLittleEndian_DIA1_1_1(void *buffer, ifm_o3m_uint32_t bufferSize)
Definition: DI_CH08_1_1.cpp:12
ifm_o3m_float32_t intrCalib_2D_fx
Definition: DI_CH08_1_1.h:55
ifm_o3m_float32_t transZ
Definition: DI_CH08_1_1.h:41
ifm_o3m_sint32_t planeValid
Definition: DI_CH08_1_1.h:110
ifm_o3m_float32_t extrCalib_rot_y
Definition: DI_CH08_1_1.h:72
ifm_o3m_float32_t extrCalib_rot_x
Definition: DI_CH08_1_1.h:71
ifm_o3m_float32_t normalz
Definition: DI_CH08_1_1.h:118
ifm_o3m_uint32_t frameCounter
Definition: DI_CH08_1_1.h:35
ifm_o3m_float32_t distanceDeviation
Definition: DI_CH08_1_1.h:121
ifm_o3m_float32_t rotX
Definition: DI_CH08_1_1.h:42
ifm_o3m_float32_t pitchAngle
Definition: DI_CH08_1_1.h:113
ifm_o3m_float32_t extrCalib_delta_ty
Definition: DI_CH08_1_1.h:69
ifm_o3m_float32_t intrCalib_k5
Definition: DI_CH08_1_1.h:62
float ifm_o3m_float32_t
Definition: ifm_types.h:13
ifm_o3m_float32_t extrCalib_center_tz
Definition: DI_CH08_1_1.h:67
signed char ifm_o3m_sint8_t
Definition: ifm_types.h:2
ifm_o3m_float32_t intrCalib_k1
Definition: DI_CH08_1_1.h:60
ifm_o3m_float32_t rotZ
Definition: DI_CH08_1_1.h:44
ifm_o3m_uint16_t sensorHeight
Definition: DI_CH08_1_1.h:26
ifm_o3m_float32_t transX
Definition: DI_CH08_1_1.h:39
ifm_o3m_float32_t intrCalib_k2
Definition: DI_CH08_1_1.h:61
ifm_o3m_float32_t transY
Definition: DI_CH08_1_1.h:40
ifm_o3m_float32_t extrCalib_delta_tx
Definition: DI_CH08_1_1.h:68
ifm_o3m_float32_t intrCalib_2D_mx
Definition: DI_CH08_1_1.h:57
ifm_o3m_uint8_t numTrianglesDetected
Definition: DI_CH08_1_1.h:95
unsigned char ifm_o3m_uint8_t
Definition: ifm_types.h:1
ifm_o3m_float32_t rotY
Definition: DI_CH08_1_1.h:43
ifm_o3m_float32_t plausibility
Definition: DI_CH08_1_1.h:120
ifm_o3m_AlgoIFOutput_DIA1_1_1 * ifm_o3m_ConvertBufferToBigEndian_DIA1_1_1(void *buffer, ifm_o3m_uint32_t bufferSize)
Definition: DI_CH08_1_1.cpp:34
ifm_o3m_uint32_t masterclockTimestamp
Definition: DI_CH08_1_1.h:34


ifm_o3mxxx
Author(s):
autogenerated on Mon Jun 10 2019 13:34:12