15 #ifdef DEBUG_THERMAL_LOOP 16 #define LOG_DEBUG_THERMAL_LOOP(...) do { CLOG(WARNING ,"librealsense") << __VA_ARGS__; } while(false) 18 #define LOG_DEBUG_THERMAL_LOOP(...) 19 #endif //DEBUG_THERMAL_LOOP 133 {
RS430_MM_PID,
"Intel RealSense D430 with Tracking Module"},
139 {
RS420_MM_PID,
"Intel RealSense D420 with Tracking Module"},
140 {
RS410_MM_PID,
"Intel RealSense D410 with Tracking Module"},
141 {
RS400_MM_PID,
"Intel RealSense D400 with Tracking Module"},
160 { 0xC9606CCB, 0x594C, 0x4D25,{ 0xaf, 0x47, 0xcc, 0xc4, 0x96, 0x43, 0x59, 0x95 } } };
163 { 0xf6c3c3d1, 0x5cde, 0x4477,{ 0xad, 0xf0, 0x41, 0x33, 0xf5, 0x8d, 0xa6, 0xf4 } } };
218 #define TOSTRING(arg) #arg 219 #define VAR_ARG_STR(x) TOSTRING(x) 220 #define ENUM2STR(x) case(x):return VAR_ARG_STR(x); 248 return (
to_string() <<
"Unrecognized FW command " << state);
310 return lhs = lhs | rhs;
315 return !!(
static_cast<uint8_t>(l) & static_cast<uint8_t>(r));
326 stream << d400_capabilities_names.at(
i) <<
"/";
333 #pragma pack(push, 1) 395 auto table =
reinterpret_cast<const T*
>(raw_data.data());
406 LOG_DEBUG(
"Loaded Valid Table: version [mjr.mnr]: 0x" <<
407 hex << setfill(
'0') << setw(4) <<
header->version << dec
408 <<
", type " <<
header->table_type <<
", size " <<
header->table_size
409 <<
", CRC: " << hex <<
header->crc32);
413 #pragma pack(push, 1) 593 float projection[12];
608 for (
int i = 0;
i < 3;
i++)
610 for (
int j = 0;
j < 3;
j++)
671 ds5_calibration() : version(0), left_imager_intrinsic({}), right_imager_intrinsic({}),
672 left_imager_extrinsic({}), right_imager_extrinsic({}), depth_extrinsic({})
675 depth_intrinsic[
i] = {};
784 0x41, 0x6c, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x45, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x72, 0,
785 0, 0x2, 0, 0x5, 0, 0x1, 0x1, 0, 0, 0, 0, 0, 0, 0, 0x5, 0, 0x1, 0x1, 0, 0, 0, 0x1, 0, 0, 0 };
793 0x4, 0x1, 0, 0x1, 0, 0, 0, 0, 0,
794 0x4, 0x1, 0, 0x1, 0, 0x1, 0, 0, 0 };
rs2_intrinsics get_intrinsic_by_resolution_coefficients_table(const std::vector< uint8_t > &raw_data, uint32_t width, uint32_t height)
const std::vector< uint8_t > alternating_emitter_pattern
rs2_extrinsics right_imager_extrinsic
const std::string DEPTH_STEREO
const int etDepthTableControl
rs2_extrinsics left_imager_extrinsic
constexpr size_t tm1_calibration_table_size
bool try_get_intrinsic_by_resolution_new(const vector< uint8_t > &raw_data, uint32_t width, uint32_t height, rs2_intrinsics *result)
const uint8_t I2C_IMU_BMI085_ID_ACC
const uint32_t FLASH_SIZE
float3x3 intrinsic_matrix_rect
const uint16_t RS_RECOVERY_PID
imu_calibration_table imu_calib_table
const uint8_t DS5_LASER_POWER
GLenum GLenum GLenum GLenum GLenum scale
rs2_intrinsics get_intrinsic_fisheye_table(const std::vector< uint8_t > &raw_data, uint32_t width, uint32_t height)
constexpr size_t tm1_serial_num_table_size
constexpr size_t tm1_eeprom_size
const uint8_t DS5_EXT_TRIGGER
int32_t disparity_multiplier
pose get_fisheye_extrinsics_data(const vector< uint8_t > &raw_data)
constexpr size_t imu_calibration_table_size
static const std::map< d400_caps, std::string > d400_capabilities_names
rs2_extrinsics depth_extrinsic
float calibration_model_flag
bool operator&&(d400_caps l, d400_caps r)
static const std::set< std::uint16_t > hid_sensors_pid
extrinsics_table imu_to_imu
const uint16_t RS435_RGB_PID
tm1_calib_model calib_model
const uint8_t DS5_HWMONITOR
static const std::set< std::uint16_t > fisheye_pid
constexpr size_t dm_v2_calib_info_size
const uint8_t DS5_ERROR_REPORTING
tm1_module_info module_info
rs2_intrinsics left_imager_intrinsic
const uint8_t DS5_HARDWARE_PRESET
imu_intrinsics gyro_intrinsics
static std::map< ds5_rect_resolutions, int2 > resolutions_list
GLsizei const GLchar *const * string
std_msgs::Header * header(M &m)
returns Header<M>::pointer(m);
const uint8_t DS5_LED_PWR
dm_v2_calib_info module_info
std::ostream & operator<<(std::ostream &stream, const d400_caps &cap)
const uint8_t DS5_THERMAL_COMPENSATION
ds5_rect_resolutions width_height_to_ds5_rect_resolutions(uint32_t width, uint32_t height)
d400_caps & operator|=(d400_caps &lhs, d400_caps rhs)
const uint16_t RS400_IMU_PID
def info(name, value, persistent=False)
const uint16_t RS416_RGB_PID
const uint16_t RS405U_PID
tm1_serial_num_table serial_num_table
const uint16_t RS410_MM_PID
static const std::map< std::uint16_t, std::string > rs400_sku_names
std::map< calibration_table_id, bool > data_present
bool try_fetch_usb_device(std::vector< platform::usb_device_info > &devices, const platform::uvc_device_info &info, platform::usb_device_info &result)
static const std::set< std::uint16_t > rs400_sku_pid
fisheye_calibration_table fe_calibration
constexpr size_t fisheye_calibration_table_size
const uint8_t ALTERNATING_EMITTER_SUBPRESET_ID
std::string fw_cmd2str(const fw_cmd state)
GLint GLsizei GLsizei height
dm_v2_calibration_table dm_v2_calib_table
const uint32_t FLASH_RW_TABLE_OF_CONTENT_OFFSET
const uint8_t FISHEYE_EXPOSURE
const int REGISTER_CLOCK_0
rs2_intrinsics get_intrinsic_by_resolution(const vector< uint8_t > &raw_data, calibration_table_id table_id, uint32_t width, uint32_t height)
const std::map< uint8_t, std::string > ds5_fw_error_report
const uint16_t RS_USB2_PID
constexpr size_t tm1_calib_model_size
const uint16_t RS_USB2_RECOVERY_PID
constexpr size_t dm_v2_calibration_table_size
float3x3 rotation_matrix_rect
const platform::extension_unit depth_xu
extrinsics_table depth_to_imu
const uint8_t DS5_ENABLE_AUTO_EXPOSURE
const uint8_t DS5_EXPOSURE
const T * check_calib(const std::vector< uint8_t > &raw_data)
constexpr size_t tm1_module_info_size
GLenum GLenum GLsizei void * table
d400_caps operator&(const d400_caps lhs, const d400_caps rhs)
Cross-stream extrinsics: encodes the topology describing how the different devices are oriented...
const uint8_t I2C_IMU_BMI055_ID_ACC
const uint8_t DS5_ENABLE_AUTO_WHITE_BALANCE
const uint16_t RS420_MM_PID
const uint16_t RS435I_PID
imu_intrinsics accel_intrinsics
d400_caps operator|(const d400_caps lhs, const d400_caps rhs)
const platform::extension_unit fisheye_xu
const uint8_t DS5_DEPTH_EMITTER_ENABLED
const uint32_t FLASH_INFO_HEADER_OFFSET
rs2_intrinsics right_imager_intrinsic
const uint16_t RS430_MM_RGB_PID
static const std::set< std::uint16_t > hid_bmi_085_pid
const uint32_t FLASH_RO_TABLE_OF_CONTENT_OFFSET
Motion device intrinsics: scale, bias, and variances.
constexpr size_t dm_v2_eeprom_size
constexpr size_t eeprom_imu_table_size
tm1_calibration_table calibration_table
static const std::set< std::uint16_t > multi_sensors_pid
const uint32_t FLASH_SECTOR_SIZE
dm_v2_imu_intrinsic accel_intrinsic
std::vector< platform::uvc_device_info > filter_device_by_capability(const std::vector< platform::uvc_device_info > &devices, d400_caps caps)
static const std::set< std::uint16_t > hid_bmi_055_pid
pose get_color_stream_extrinsic(const std::vector< uint8_t > &raw_data)
tm1_serial_num_table serial_num_table
extrinsics_table fisheye_to_imu
const uint16_t RS400_MM_PID
const uint16_t RS430I_PID
const std::vector< uint8_t > alternating_emitter_pattern_with_name
const uint8_t DS5_ASIC_AND_PROJECTOR_TEMPERATURES
const uint16_t RS430_MM_PID
uint32_t calc_crc32(const uint8_t *buf, size_t bufsize)
Calculate CRC code for arbitrary characters buffer.
dm_v2_imu_intrinsic gyro_intrinsic
flash_info get_flash_info(const std::vector< uint8_t > &flash_buffer)
std::string to_string(T value)
rs2_motion_device_intrinsic create_motion_intrinsics(imu_intrinsic data)