t265-messages.h
Go to the documentation of this file.
1 // License: Apache 2.0. See LICENSE file in root directory.
2 // Copyright(c) 2017 Intel Corporation. All Rights Reserved.
3 
13 #pragma once
14 
15 #include <stdint.h>
16 #include <math.h>
17 
18 #pragma pack(push, 1)
19 
20 #ifdef _WIN32
21 #pragma warning (push)
22 #pragma warning (disable : 4200)
23 #else
24 #pragma GCC diagnostic ignored "-Wpedantic"
25 #endif
26 
27 #define MAX_VIDEO_STREAMS 8
28 #define MAX_FW_LOG_BUFFER_ENTRIES (512)
29 #define MAX_LOG_PAYLOAD_SIZE (44)
30 #define MAX_MESSAGE_LEN 1024
31 #define MAX_EEPROM_BUFFER_SIZE (MAX_MESSAGE_LEN - sizeof(bulk_message_request_header) - 4)
32 #define MAX_TABLE_SIZE (MAX_MESSAGE_LEN - sizeof(bulk_message_response_header))
33 #define MAX_EEPROM_CONFIGURATION_SIZE 1200
34 #define MAX_GUID_LENGTH 128
35 #define MAX_FW_UPDATE_FILE_COUNT 6
36 #define MAX_SLAM_CALIBRATION_SIZE 10000
37 
38 // Added from TrackingCommon.h
39 namespace t265
40 {
45  {
46  Color = 0,
47  Depth = 1,
48  IR = 2,
49  Fisheye = 3,
50  Gyro = 4,
53  Rssi = 7,
55  Stereo = 9,
56  Pose = 10,
58  Mask = 12,
60  };
61 
63  {
64  ANY = 0,
65  Z16 = 1,
67  XYZ32F = 3,
68  YUYV = 4,
69  RGB8 = 5,
70  BGR8 = 6,
71  RGBA8 = 7,
72  BGRA8 = 8,
73  Y8 = 9,
74  Y16 = 10,
75  RAW8 = 11,
76  RAW10 = 12,
77  RAW16 = 13
78  };
79 
83  typedef enum {
92  } SIXDOF_MODE;
93 
95  return x = static_cast<SIXDOF_MODE>(static_cast<typename std::underlying_type<SIXDOF_MODE>::type>(x) |
96  static_cast<typename std::underlying_type<SIXDOF_MODE>::type>(y));
97  }
99  return x = static_cast<SIXDOF_MODE>(static_cast<typename std::underlying_type<SIXDOF_MODE>::type>(x) &
100  static_cast<typename std::underlying_type<SIXDOF_MODE>::type>(y));
101  }
103  return static_cast<SIXDOF_MODE>(~static_cast<typename std::underlying_type<SIXDOF_MODE>::type>(x));
104  }
105  inline SIXDOF_MODE operator|(SIXDOF_MODE x, SIXDOF_MODE y) { return x |= y; }
106  inline SIXDOF_MODE operator&(SIXDOF_MODE x, SIXDOF_MODE y) { return x &= y; }
107 
111  typedef enum {
112 
113  /* Core device messages */
115  DEV_GET_TIME = 0x0002,
125  DEV_LOG_CONTROL = 0x000C,
128  DEV_READ_EEPROM = 0x000F,
130  DEV_SAMPLE = 0x0011,
131  DEV_START = 0x0012,
132  DEV_STOP = 0x0013,
133  DEV_STATUS = 0x0014,
134  DEV_GET_POSE = 0x0015,
142  DEV_SNAPSHOT = 0x001F,
147  DEV_LOCK_EEPROM = 0x0024,
149 
150  /* SLAM messages */
151  SLAM_STATUS = 0x1001,
165 
166  /* Error messages */
167  DEV_ERROR = 0x8000,
168  SLAM_ERROR = 0x9000,
169 
170  /* Message IDs are 16-bits */
171  MAX_MESSAGE_ID = 0xFFFF,
172  } BULK_MESSAGE_ID;
173 
174 
178  typedef enum {
179  SUCCESS = 0X0000,
183  INTERNAL_ERROR = 0x0004,
184  UNSUPPORTED = 0x0005,
185  LIST_TOO_BIG = 0x0006,
187  DEVICE_BUSY = 0x0008, /* Indicates that this command is not supported in the current device state, e.g.trying to change configuration after START */
188  TIMEOUT = 0x0009,
189  TABLE_NOT_EXIST = 0x000A, /* The requested configuration table does not exists on the EEPROM */
190  TABLE_LOCKED = 0x000B, /* The configuration table is locked for writing or permanently locked from unlocking */
191  DEVICE_STOPPED = 0x000C, /* Used with DEV_STATUS messages to mark the last message over an endpoint after a DEV_STOP command */
192  TEMPERATURE_WARNING = 0x0010, /* The device temperature reached 10 % from its threshold */
193  TEMPERATURE_STOP = 0x0011, /* The device temperature reached its threshold, and the device stopped tracking */
194  CRC_ERROR = 0x0012, /* CRC Error in firmware update */
195  INCOMPATIBLE = 0x0013, /* Controller version is incompatible with TM2 version */
196  AUTH_ERROR = 0x0014, /* Authentication error in firmware update */
197  DEVICE_RESET = 0x0015, /* A device reset has occurred. The user may read the FW log for additional detail */
198  SLAM_NO_DICTIONARY = 0x9001, /* No relocalization dictionary was loaded */
199  } MESSAGE_STATUS;
200 
204  typedef enum {
210 
214  typedef enum {
218  } SKU_INFO_TYPE;
219 
223  typedef enum {
226 
227  /* Message IDs are 16-bits */
228  MAX_CONTROL_ID = 0xFFFF,
230 
234  typedef enum {
238  } FW_STATUS_CODE;
239 
243  typedef enum {
247 
251  typedef enum {
256  } SLAM_ERROR_CODE;
257 
263  typedef struct {
267 
268 
274  typedef struct {
279 
280 
286  typedef struct {
314 
315 
321  typedef struct {
324 
325  typedef struct {
329 
330 
336  typedef struct {
341 
342  typedef struct {
345 
351  typedef struct {
354 
355  typedef struct {
359 
360 
366  typedef struct {
369 
370  typedef struct {
389 
390  typedef struct {
394 
395 
401  typedef struct {
409  union {
412  };
416 
423  typedef struct {
426 
427  typedef struct {
433 
434 
447  typedef struct {
452 
453  typedef struct {
456 
457 
469  typedef struct {
474 
475  typedef struct {
478 
479 
485  typedef struct {
488  float_t flPpx;
489  float_t flPpy;
490  float_t flFx;
491  float_t flFy;
493  float_t flCoeffs[5];
495 
496  typedef struct {
502 
503  typedef struct {
507 
508 
514  typedef struct {
515  float_t flData[3][4];
516  float_t flNoiseVariances[3];
517  float_t flBiasVariances[3];
519 
520  typedef struct {
526 
527  typedef struct {
531 
532 
538  typedef struct {
539  float_t flRotation[9];
540  float_t flTranslation[3];
543 
544  typedef struct {
550 
551  typedef struct {
555 
556  typedef struct {
561 
562  typedef struct {
565 
574  typedef struct {
582 
583  typedef struct {
586 
587 
596  typedef struct {
604 
605  typedef struct {
608 
609 
615  typedef struct {
621 
622  typedef struct {
625 
626 
632  typedef struct {
638 
639  typedef struct {
642 
643 
649  typedef struct {
654 
655  typedef struct {
660 
661 
667  typedef struct {
673 
674  typedef struct {
678 
679 
685  typedef struct {
688 
689  typedef struct {
692 
693 
701  typedef struct {
704 
705  typedef struct {
708 
709 
716  typedef struct {
717  float_t flX;
718  float_t flY;
719  float_t flZ;
720  float_t flQi;
721  float_t flQj;
722  float_t flQk;
723  float_t flQr;
724  float_t flVx;
725  float_t flVy;
726  float_t flVz;
727  float_t flVAX;
728  float_t flVAY;
729  float_t flVAZ;
730  float_t flAx;
731  float_t flAy;
732  float_t flAz;
733  float_t flAAX;
734  float_t flAAY;
735  float_t flAAZ;
740  } pose_data;
741 
742  typedef struct {
746 
747  typedef struct {
751 
752 
762  typedef struct {
767 
768  typedef struct {
771 
772 
780  typedef struct {
783  uint8_t bReserved[3];
785  float_t fGain;
786  } stream_exposure;
787 
788  typedef struct {
794 
795  typedef struct {
798 
799 
805  typedef struct {
807  float_t fTemperature;
808  float_t fThreshold;
810 
811  typedef struct {
814 
815  typedef struct {
818  sensor_temperature temperature[];
820 
821 
830  typedef struct {
832  float_t fThreshold;
834 
835  typedef struct {
839  sensor_set_temperature temperature[];
841 
842  typedef struct {
845 
851  typedef struct {
855 
856  typedef struct {
859 
860 
868  typedef struct {
875 
876  typedef struct {
879 
880 
889  typedef struct {
896 
897  typedef struct {
900 
901 
909  typedef struct {
913 
914  typedef struct {
918 
919 
930  typedef struct {
935 
936  typedef struct {
939 
940 
946  typedef struct {
950 
951  typedef struct {
954 
955 
964  typedef struct {
968 
969  typedef struct {
972 
973 
979  typedef struct {
984 
985  typedef struct {
988 
997  typedef struct {
1001 
1002  typedef struct {
1005 
1011  typedef struct {
1015  uint8_t bPayload[];
1017 
1018 
1024  typedef struct {
1025  float_t flX;
1026  float_t flY;
1027  float_t flZ;
1028  float_t flQi;
1029  float_t flQj;
1030  float_t flQk;
1031  float_t flQr;
1032  } static_node_data;
1033 
1034  typedef struct {
1040 
1041  typedef struct {
1044 
1045  typedef struct {
1050 
1051  typedef struct {
1054 
1060  typedef struct {
1065 
1066  typedef struct {
1070 
1076  typedef struct {
1078  uint8_t calibration_append_string[MAX_SLAM_CALIBRATION_SIZE];
1080 
1081  typedef struct {
1084 
1085 
1091  typedef struct {
1093  uint8_t calibration_string[MAX_SLAM_CALIBRATION_SIZE];
1095 
1096  typedef struct {
1099 
1105  typedef struct {
1111 
1112  typedef struct {
1116 
1117  typedef struct {
1120 
1121 
1128  typedef struct {
1133 
1134  typedef struct {
1137 
1138 
1146  typedef struct {
1150 
1151  typedef struct {
1154 
1155 
1170  typedef struct {
1180 
1181 
1185  typedef struct
1186  {
1189  float_t fGain;
1191  uint8_t bFrameData[];
1193 
1194 
1200  typedef struct
1201  {
1205 
1206 
1210  typedef struct
1211  {
1213  float_t flTemperature;
1215  float_t flAx;
1216  float_t flAy;
1217  float_t flAz;
1219 
1225  typedef struct
1226  {
1230 
1231 
1235  typedef struct
1236  {
1238  float_t flTemperature;
1240  float_t flGx;
1241  float_t flGy;
1242  float_t flGz;
1244 
1250  typedef struct
1251  {
1255 
1259  typedef struct
1260  {
1262  float_t flTemperature;
1264  float_t flVx;
1265  float_t flVy;
1266  float_t flVz;
1268 
1274  typedef struct
1275  {
1279 
1292  typedef struct {
1296 
1297 
1303  typedef struct {
1307 
1308 
1314  typedef struct {
1318 
1326  typedef struct {
1332 
1333 
1337  typedef struct {
1347 
1348 
1352  typedef struct
1353  {
1355  float_t flTemperature;
1357  float_t flAx;
1358  float_t flAy;
1359  float_t flAz;
1361 
1362 
1368  typedef struct
1369  {
1373 
1374 
1378  typedef struct
1379  {
1381  float_t flTemperature;
1383  float_t flGx;
1384  float_t flGy;
1385  float_t flGz;
1387 
1388 
1394  typedef struct
1395  {
1399 
1400 
1404  typedef struct
1405  {
1407  float_t flTemperature;
1409  float_t flVx;
1410  float_t flVy;
1411  float_t flVz;
1413 
1414 
1420  typedef struct
1421  {
1425 
1431  typedef struct {
1440 
1450  typedef struct {
1454  uint8_t bLocalizationData[];
1456 
1457 
1463  typedef struct {
1468 
1469 
1475  typedef struct {
1480 
1486  typedef struct {
1498 
1504  typedef struct {
1507 
1513  typedef struct {
1517 
1518  typedef struct {
1521 
1522  typedef struct {
1525 
1526 
1527 #pragma pack(pop)
1528 
1529 }
1530 #ifdef _WIN32
1531 #pragma warning (pop)
1532 #endif
MESSAGE_STATUS
Defines all bulk message return statuses.
SLAM_STATUS_CODE
Defines all SLAM status codes.
SKU_INFO_TYPE
Defines SKU info types.
#define MAX_TABLE_SIZE
Definition: t265-messages.h:32
Bulk Get Localization Data Message.
Control get interface version Message.
Bulk Get Pose Message.
interrupt_message_gyro_stream_metadata metadata
bulk_message_accelerometer_stream_metadata metadata
GLint y
#define MAX_VIDEO_STREAMS
This file contains protocols definitions for TM2 USB vendor specific host/device interface.
Definition: t265-messages.h:27
Interrupt get pose message.
bulk_message_gyro_stream_metadata metadata
interrupt_message_accelerometer_stream_metadata metadata
Interrupt raw accelerometer stream message.
#define MAX_EEPROM_BUFFER_SIZE
Definition: t265-messages.h:31
bulk_message_request_header header
Bulk SLAM override calibration Message.
Bulk Log Control Message.
Device Info libtm Message.
Bulk message request header struct.
Interrupt status message.
CONTROL_MESSAGE_ID
Defines all control messages ids.
Interrupt Get Localization Data Stream message.
bulk_message_raw_stream_header rawStreamHeader
Bulk raw video stream metadata.
bulk_message_response_header header
bulk_message_response_header header
SIXDOF_MODE
Defines all 6dof modes.
Definition: t265-messages.h:83
Bulk raw video stream message.
Bulk Set Exposure Control Message Enable/disable the auto-exposure management of the different video ...
bulk_message_video_stream_metadata metadata
Interrupt raw velocimeter stream metadata.
Bulk raw velocimeter stream metadata.
bulk_message_velocimeter_stream_metadata metadata
bulk_message_response_header header
Bulk write configuration Message.
Bulk Read EEPROM Message.
unsigned short uint16_t
Definition: stdint.h:79
bulk_message_request_header header
FW_STATUS_CODE
Defines all FW status codes.
bulk_message_request_header header
bulk_message_response_header header
Interrupt raw gyro stream message.
bulk_message_response_header header
GLuint GLuint stream
Definition: glext.h:1790
bulk_message_request_header header
unsigned char uint8_t
Definition: stdint.h:78
Bulk Get Static Node Message.
#define MAX_FW_LOG_BUFFER_ENTRIES
Definition: t265-messages.h:28
interrupt_message_raw_stream_header rawStreamHeader
Bulk raw accelerometer stream metadata.
Bulk Set Localization Data Stream Message.
bulk_message_response_header header
bulk_message_raw_stream_header rawStreamHeader
Bulk raw gyro stream metadata.
Interrupt raw gyro stream metadata.
bulk_message_raw_stream_header rawStreamHeader
Control message request header struct.
Bulk eeprom Lock Message.
Bulk Device stream config Message.
bulk_message_request_header header
Interrupt raw accelerometer stream metadata.
Bulk configuration Lock Message.
bulk_message_request_header header
Bulk GPIO control Message.
Bulk Get Temperature Message.
bulk_message_response_header header
bulk_message_request_header header
Bulk Set Exposure Message.
Stream Endpoint Protocol.
SensorType
Defines all sensors types (bSensorID/bCameraID/bMotionID)
Definition: t265-messages.h:44
Bulk Get Camera Intrinsics Message.
bulk_message_response_header header
bulk_message_request_header header
bulk_message_raw_stream_header rawStreamHeader
GLdouble x
interrupt_message_header header
unsigned int uint32_t
Definition: stdint.h:80
Bulk reset configuration Message.
Bulk Write EEPROM data Message.
Bulk Get Motion Module Intrinsics Message.
uint32_t dwMapperConfidence
bulk_message_request_header header
bulk_message_response_header header
SIXDOF_MODE operator|(SIXDOF_MODE x, SIXDOF_MODE y)
bulk_message_request_header header
bulk_message_request_header header
Bulk Set Motion Module Intrinsics Message.
Bulk raw accelerometer stream message.
bulk_message_request_header header
interrupt_message_raw_stream_header rawStreamHeader
bulk_message_request_header header
bulk_message_response_header header
Bulk enable low power Message.
Bulk Set Static Node Message.
unsigned __int64 uint64_t
Definition: stdint.h:90
#define MAX_GUID_LENGTH
Definition: t265-messages.h:34
bulk_message_request_header header
Bulk message response header struct.
Supported Raw Stream libtm Message.
Bulk Set Temperature Threshold Message.
Bulk Set 6DoF Interrupt Rate Message.
Bulk Raw Streams Control Message.
bulk_message_request_header header
interrupt_message_velocimeter_stream_metadata metadata
uint64_t llNanoseconds
Bulk Set Camera Intrinsics Message.
bulk_message_request_header header
EEPROM_LOCK_STATE
Defines EEPROM lock states.
Bulk read configuration Message.
bulk_message_response_header header
bulk_message_response_header header
Interrupt Endpoint Protocol.
SIXDOF_MODE & operator&=(SIXDOF_MODE &x, SIXDOF_MODE y)
Definition: t265-messages.h:98
#define MAX_LOG_PAYLOAD_SIZE
Definition: t265-messages.h:29
bulk_message_response_header header
Interrupt SLAM error message.
Bulk Get Extrinsics Message.
SLAM_ERROR_CODE
Defines all SLAM error codes.
bulk_message_response_header header
Bulk Get Device Info Message.
bulk_message_request_header header
Bulk Get Supported Raw Streams Message.
GLenum type
control_message_request_header header
SIXDOF_MODE operator~(SIXDOF_MODE x)
Bulk SLAM calibration Message.
Bulk Occupancy Map Control Message.
interrupt_message_header header
SIXDOF_MODE & operator|=(SIXDOF_MODE &x, SIXDOF_MODE y)
Definition: t265-messages.h:94
bulk_message_request_header header
interrupt_message_raw_stream_header rawStreamHeader
::realsense_legacy_msgs::motion_intrinsics_< std::allocator< void > > motion_intrinsics
Interrupt Set Localization Data Stream message.
uint32_t dwTrackerState
uint32_t dwTrackerConfidence
bulk_message_response_header header
bulk_message_request_header header
#define MAX_SLAM_CALIBRATION_SIZE
Definition: t265-messages.h:36
Interrupt SLAM Relocalization Event message.
Bulk raw gyro stream message.
SIXDOF_MODE operator&(SIXDOF_MODE x, SIXDOF_MODE y)
bulk_message_response_header header
interrupt_message_header header
Bulk Get and Clear Event Log Message.
Interrupt raw velocimeter stream message.
Bulk timeout configuration Message.
Bulk raw velocimeter stream message.
Bulk Raw Streams Playback Control Message.
bulk_message_response_header header
Interrupt raw stream header.
sixdof_interrupt_rate_libtm_message message
BULK_MESSAGE_ID
Defines all bulk messages ids.


librealsense2
Author(s): Sergey Dorodnicov , Doron Hirshberg , Mark Horn , Reagan Lopez , Itay Carpis
autogenerated on Mon May 3 2021 02:50:11