BltTofApi
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros
bta_frame.h
Go to the documentation of this file.
1 
20 #ifndef BTA_FRAME_H_INCLUDED
21 #define BTA_FRAME_H_INCLUDED
22 
23 #include <bta_status.h>
24 #include <stdint.h>
25 
26 
27 
29 typedef enum BTA_FrameMode {
31  BTA_FrameModeDistAmp,
32  BTA_FrameModeDistAmpFlags,
33  BTA_FrameModeXYZ,
34  BTA_FrameModeXYZAmp,
35  BTA_FrameModeDistAmpColor,
36  BTA_FrameModeXYZAmpFlags,
37  BTA_FrameModeRawPhases,
38  BTA_FrameModeIntensities,
39  BTA_FrameModeDistColor,
40  BTA_FrameModeDistAmpBalance,
41  BTA_FrameModeXYZColor,
43 
44 
46 typedef enum BTA_ChannelId {
47  BTA_ChannelIdUnknown = 0x0,
48  BTA_ChannelIdDistance = 0x1,
49  BTA_ChannelIdAmplitude = 0x2,
50  BTA_ChannelIdX = 0x4,
51  BTA_ChannelIdY = 0x8,
52  BTA_ChannelIdZ = 0x10,
53  BTA_ChannelIdConfidence = 0x20,
54  BTA_ChannelIdFlags = 0x40,
55  BTA_ChannelIdPhase0 = 0x80,
56  BTA_ChannelIdPhase90 = 0x100,
57  BTA_ChannelIdPhase180 = 0x200,
58  BTA_ChannelIdPhase270 = 0x400,
59  BTA_ChannelIdRawPhase = 0x81,
60  BTA_ChannelIdTest = 0x800,
61  BTA_ChannelIdColor = 0x1000,
62  BTA_ChannelIdAmbient = 0x2000,
63  BTA_ChannelIdPhase = 0x4000,
64  BTA_ChannelIdGrayScale = 0x8000,
65  BTA_ChannelIdBalance = 0x10000,
66 
67  BTA_ChannelIdCustom01 = 0x1000000,
68  BTA_ChannelIdCustom02 = 0x2000000,
69  BTA_ChannelIdCustom03 = 0x3000000,
70  BTA_ChannelIdCustom04 = 0x4000000,
71  BTA_ChannelIdCustom05 = 0x5000000,
72  BTA_ChannelIdCustom06 = 0x6000000,
73  BTA_ChannelIdCustom07 = 0x7000000,
74  BTA_ChannelIdCustom08 = 0x8000000,
75  BTA_ChannelIdCustom09 = 0x9000000,
76  BTA_ChannelIdCustom10 = 0xa000000,
78 
79 
83 typedef enum BTA_DataFormat {
84  BTA_DataFormatUnknown = 0x0,
85  BTA_DataFormatUInt8 = 0x11,
86  BTA_DataFormatUInt16 = 0x12,
87  BTA_DataFormatUInt16Mlx1C11S = 0x62,
88  BTA_DataFormatUInt16Mlx12S = 0x72,
89  BTA_DataFormatUInt16Mlx1C11U = 0x82,
90  BTA_DataFormatUInt16Mlx12U = 0x92,
91  //BTA_DataFormatUInt24 = 0x13,
92  BTA_DataFormatUInt32 = 0x14,
93  //BTA_DataFormatSInt8 = 0x21,
94  BTA_DataFormatSInt16 = 0x22,
95  //BTA_DataFormatSInt24 = 0x23,
96  BTA_DataFormatSInt32 = 0x24,
97  //BTA_DataFormatFloat8 = 0x31,
98  //BTA_DataFormatFloat16 = 0x32,
99  //BTA_DataFormatFloat24 = 0x33,
100  BTA_DataFormatFloat32 = 0x34,
101  BTA_DataFormatFloat64 = 0x38,
102  BTA_DataFormatRgb565 = 0x42,
103  BTA_DataFormatRgb24 = 0x43,
104  BTA_DataFormatJpeg = 0x50,
106 
107 
109 typedef enum BTA_Unit {
110  BTA_UnitUnitLess = 0,
111  BTA_UnitMeter = 1,
112  //BTA_UnitCentimeter = 2,
113  BTA_UnitMillimeter = 3,
114  //BTA_UnitPercent = 4,
115 } BTA_Unit;
116 
117 
118 typedef enum BTA_MetadataId {
119  BTA_MetadataIdChessboardCorners = 0xab8471f9,
120  BTA_MetadataIdMlxMeta1 = 0xa720b906,
121  BTA_MetadataIdMlxMeta2 = 0xa720b907,
122  BTA_MetadataIdMlxTest = 0xa720b908,
123  BTA_MetadataIdMlxAdcData = 0xa720b909,
124 } BTA_MetadataId;
125 
126 
128 typedef struct BTA_Metadata {
129  BTA_MetadataId id;
130  void *data;
131  uint32_t dataLen;
132 } BTA_Metadata;
133 
134 
136 typedef struct BTA_Channel {
138  uint16_t xRes;
139  uint16_t yRes;
142  uint32_t integrationTime;
144  uint8_t *data;
145  uint32_t dataLen;
147  uint32_t metadataLen;
148 } BTA_Channel;
149 
150 
152 typedef struct BTA_Frame {
156  float mainTemp;
157  float ledTemp;
158  float genericTemp;
159  uint32_t frameCounter;
160  uint32_t timeStamp;
162  uint8_t channelsLen;
163  uint8_t sequenceCounter;
164 } BTA_Frame;
165 
166 #endif
BTA_Frame holds all the data gathered from one frame (one or more channels)
Definition: bta_frame.h:152
uint16_t yRes
Number of rows.
Definition: bta_frame.h:139
uint32_t metadataLen
The number of BTA_Metadata pointers stored in metadata.
Definition: bta_frame.h:147
BTA_Metadata ** metadata
List of pointers to additional generic data.
Definition: bta_frame.h:146
BTA_MetadataId id
Type of metadata. Needs to be specified outside. The BTA is not aware of its meaning.
Definition: bta_frame.h:129
uint8_t firmwareVersionNonFunc
Firmware version non functional.
Definition: bta_frame.h:155
uint8_t channelsLen
The number of BTA_Channel pointers stored in channels.
Definition: bta_frame.h:162
void * data
The data.
Definition: bta_frame.h:130
uint32_t dataLen
Length of the channel data in bytes (= xRes*yRes*bytesPerPixel)
Definition: bta_frame.h:145
BTA_Channel holds a two-dimensional array of data (A part of BTA_Frame)
Definition: bta_frame.h:136
This header file contains the status ID enum used as return value for most functions.
uint16_t xRes
Number of columns.
Definition: bta_frame.h:138
BTA_Unit unit
Informative, for easier interpretation of the data.
Definition: bta_frame.h:141
uint8_t firmwareVersionMajor
Firmware version major.
Definition: bta_frame.h:153
uint32_t integrationTime
Integration time at which the frame was captured in [us].
Definition: bta_frame.h:142
uint32_t dataLen
The length of data in bytes.
Definition: bta_frame.h:131
BTA_DataFormat
Enumerator with data formats which allows the parsing of the data in BTA_Channel. The lowbyte stands ...
Definition: bta_frame.h:83
struct BTA_Frame BTA_Frame
BTA_Frame holds all the data gathered from one frame (one or more channels)
BTA_ChannelId
Enumerator with channel IDs. They allow the identification of the various channels in a BTA_Frame...
Definition: bta_frame.h:46
uint8_t sequenceCounter
If multiple sequences were captured, they can be seperated by the sequence counter.
Definition: bta_frame.h:163
BTA_FrameMode
Enumerator with valid frame modes to be passed with BTAsetFrameMode.
Definition: bta_frame.h:29
The sensors settings are not changed and data is passed through (according to device's current calcul...
Definition: bta_frame.h:30
uint32_t frameCounter
Consecutive numbering of frames.
Definition: bta_frame.h:159
uint8_t * data
Pixels starting with upper left pixel. For nofBytesPerPixel bigger than 1 the first byte is the lowby...
Definition: bta_frame.h:144
BTA_ChannelId id
Type of data in this channel.
Definition: bta_frame.h:137
BTA_Unit
Enumerator with units which allows the interpretation of the data in a channel.
Definition: bta_frame.h:109
BTA_Channel ** channels
Data containing channelsLen Channel structs.
Definition: bta_frame.h:161
uint32_t modulationFrequency
Modulation frequency at which the frame was captured in [Hz].
Definition: bta_frame.h:143
float ledTemp
Led-board temperature sensor in degree Celcius.
Definition: bta_frame.h:157
struct BTA_Channel BTA_Channel
BTA_Channel holds a two-dimensional array of data (A part of BTA_Frame)
uint32_t timeStamp
Time-stamp at which the frame was captured (in microseconds) (max 1h 11m 34s 967ms 295 us) ...
Definition: bta_frame.h:160
struct BTA_Metadata BTA_Metadata
BTA_Channel holds a two-dimensional array of data (A part of BTA_Frame)
BTA_DataFormat dataFormat
The bytestream in data needs to be casted to this format.
Definition: bta_frame.h:140
float mainTemp
Main-board/processor temperature sensor in degree Celcius.
Definition: bta_frame.h:156
BTA_Channel holds a two-dimensional array of data (A part of BTA_Frame)
Definition: bta_frame.h:128
uint8_t firmwareVersionMinor
Firmware version minor.
Definition: bta_frame.h:154
float genericTemp
Additional Generic temperature sensor in degree Celcius.
Definition: bta_frame.h:158