DI_CH08_1_2.h
Go to the documentation of this file.
1 /* This file provides the definition of the struct AlgoIFOutput in the interface version DIA1_1.2.
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_2_CONVERTER_H_INCLUDED
8 #define IFM_O3M_ALGOIFOUTPUT_DIA1_1_2_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];
78  ifm_o3m_uint8_t pad_001; /* explicit padding, do not access this member */
79  ifm_o3m_uint8_t pad_002; /* explicit padding, do not access this member */
80  ifm_o3m_uint8_t pad_003; /* explicit padding, do not access this member */
81  } distanceImageResult;
82  struct
83  {
84  struct
85  {
88  struct
89  {
90  ifm_o3m_float32_t transX;
91  ifm_o3m_float32_t transY;
92  ifm_o3m_float32_t transZ;
93  ifm_o3m_float32_t rotX;
94  ifm_o3m_float32_t rotY;
95  ifm_o3m_float32_t rotZ;
96  } calibResult;
97  } commonCalibrationResult;
98  struct
99  {
101  ifm_o3m_uint8_t pad_001; /* explicit padding, do not access this member */
102  ifm_o3m_uint8_t pad_002; /* explicit padding, do not access this member */
103  ifm_o3m_uint8_t pad_003; /* explicit padding, do not access this member */
104  struct
105  {
108  ifm_o3m_float32_t corners[3][2];
109  } triangleDetections[8];
112  } pacCalibrationResult;
113  struct
114  {
116  struct
117  {
124  } planeEstimation;
127  } streetCalibrationResult;
128  } calibrationResult;
130 
131 
132 /* Casts the buffer to ifm_o3m_AlgoIFOutput_DIA1_1_2 (if possible) and returns a pointer to it.
133  Use this function on little Endian systems.
134 
135  Returns NULL in case of errors. */
137 
138 /* Converts the endianess of the buffer to native form and returns a pointer to ifm_o3m_AlgoIFOutput_DIA1_1_2.
139  Note: The original buffer is modified in place.
140  Use this function on big Endian systems.
141 
142  Returns NULL in case of errors. */
144 
145 #endif
ifm_o3m_float32_t extrCalib_center_tx
Definition: DI_CH08_1_2.h:65
ifm_o3m_float32_t intrCalib_2D_my
Definition: DI_CH08_1_2.h:58
ifm_o3m_float32_t intrCalib_2D_mx
Definition: DI_CH08_1_2.h:57
ifm_o3m_uint16_t sensorHeight
Definition: DI_CH08_1_2.h:26
ifm_o3m_float32_t normalz
Definition: DI_CH08_1_2.h:123
unsigned int ifm_o3m_uint32_t
Definition: ifm_types.h:7
ifm_o3m_float32_t plausibility
Definition: DI_CH08_1_2.h:125
ifm_o3m_float32_t intrCalib_k4
Definition: DI_CH08_1_2.h:64
signed int ifm_o3m_sint32_t
Definition: ifm_types.h:8
ifm_o3m_sint32_t planeValid
Definition: DI_CH08_1_2.h:115
ifm_o3m_float32_t frameReprojectError
Definition: DI_CH08_1_2.h:111
ifm_o3m_float32_t blockageRatio
Definition: DI_CH08_1_2.h:76
ifm_o3m_float32_t transZ
Definition: DI_CH08_1_2.h:41
ifm_o3m_uint32_t masterclockTimestamp
Definition: DI_CH08_1_2.h:34
ifm_o3m_float32_t intrCalib_k1
Definition: DI_CH08_1_2.h:60
ifm_o3m_float32_t extrCalib_rot_z
Definition: DI_CH08_1_2.h:73
ifm_o3m_uint8_t blockageAvailable
Definition: DI_CH08_1_2.h:77
ifm_o3m_float32_t extrCalib_delta_tz
Definition: DI_CH08_1_2.h:70
ifm_o3m_AlgoIFOutput_DIA1_1_2 * ifm_o3m_ConvertBufferToLittleEndian_DIA1_1_2(void *buffer, ifm_o3m_uint32_t bufferSize)
Definition: DI_CH08_1_2.cpp:12
ifm_o3m_float32_t intrCalib_k5
Definition: DI_CH08_1_2.h:62
ifm_o3m_float32_t rotX
Definition: DI_CH08_1_2.h:42
unsigned short ifm_o3m_uint16_t
Definition: ifm_types.h:4
ifm_o3m_float32_t intrCalib_2D_fx
Definition: DI_CH08_1_2.h:55
ifm_o3m_float32_t transX
Definition: DI_CH08_1_2.h:39
ifm_o3m_sint32_t calibrationStableCounter
Definition: DI_CH08_1_2.h:87
ifm_o3m_float32_t transY
Definition: DI_CH08_1_2.h:40
ifm_o3m_uint8_t numTrianglesDetected
Definition: DI_CH08_1_2.h:100
ifm_o3m_float32_t distanceDeviation
Definition: DI_CH08_1_2.h:126
ifm_o3m_float32_t intrCalib_k3
Definition: DI_CH08_1_2.h:63
ifm_o3m_float32_t normaly
Definition: DI_CH08_1_2.h:122
ifm_o3m_float32_t intrCalib_k2
Definition: DI_CH08_1_2.h:61
ifm_o3m_uint16_t sensorWidth
Definition: DI_CH08_1_2.h:25
ifm_o3m_float32_t extrCalib_rot_y
Definition: DI_CH08_1_2.h:72
ifm_o3m_uint32_t available
Definition: DI_CH08_1_2.h:36
ifm_o3m_float32_t pitchAngle
Definition: DI_CH08_1_2.h:118
ifm_o3m_float32_t normalx
Definition: DI_CH08_1_2.h:121
ifm_o3m_float32_t intrCalib_alpha
Definition: DI_CH08_1_2.h:59
ifm_o3m_float32_t extrCalib_rot_x
Definition: DI_CH08_1_2.h:71
ifm_o3m_sint32_t frameValid
Definition: DI_CH08_1_2.h:110
ifm_o3m_float32_t extrCalib_delta_ty
Definition: DI_CH08_1_2.h:69
float ifm_o3m_float32_t
Definition: ifm_types.h:13
signed char ifm_o3m_sint8_t
Definition: ifm_types.h:2
ifm_o3m_float32_t rotY
Definition: DI_CH08_1_2.h:43
ifm_o3m_AlgoIFOutput_DIA1_1_2 * ifm_o3m_ConvertBufferToBigEndian_DIA1_1_2(void *buffer, ifm_o3m_uint32_t bufferSize)
Definition: DI_CH08_1_2.cpp:34
ifm_o3m_float32_t extrCalib_center_ty
Definition: DI_CH08_1_2.h:66
ifm_o3m_float32_t intrCalib_2D_fy
Definition: DI_CH08_1_2.h:56
unsigned char ifm_o3m_uint8_t
Definition: ifm_types.h:1
ifm_o3m_float32_t extrCalib_delta_tx
Definition: DI_CH08_1_2.h:68
ifm_o3m_sint32_t calibValid
Definition: DI_CH08_1_2.h:86
ifm_o3m_uint32_t frameCounter
Definition: DI_CH08_1_2.h:35
ifm_o3m_float32_t rollAngle
Definition: DI_CH08_1_2.h:119
ifm_o3m_float32_t camHeight
Definition: DI_CH08_1_2.h:120
ifm_o3m_float32_t extrCalib_center_tz
Definition: DI_CH08_1_2.h:67
ifm_o3m_float32_t rotZ
Definition: DI_CH08_1_2.h:44


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