195 const std::string &key)
200 ASSERT_EQ(wire.
key, key);
207 case wire::SysDeviceInfo::HARDWARE_REV_MULTISENSE_S7:
208 ASSERT_EQ(info.
hardware_revision, MultiSenseInfo::DeviceInfo::HardwareRevision::S7);
break;
209 case wire::SysDeviceInfo::HARDWARE_REV_MULTISENSE_S21:
210 ASSERT_EQ(info.
hardware_revision, MultiSenseInfo::DeviceInfo::HardwareRevision::S21);
break;
211 case wire::SysDeviceInfo::HARDWARE_REV_MULTISENSE_ST21:
212 ASSERT_EQ(info.
hardware_revision, MultiSenseInfo::DeviceInfo::HardwareRevision::ST21);
break;
213 case wire::SysDeviceInfo::HARDWARE_REV_MULTISENSE_C6S2_S27:
214 ASSERT_EQ(info.
hardware_revision, MultiSenseInfo::DeviceInfo::HardwareRevision::S27);
break;
215 case wire::SysDeviceInfo::HARDWARE_REV_MULTISENSE_S30:
216 ASSERT_EQ(info.
hardware_revision, MultiSenseInfo::DeviceInfo::HardwareRevision::S30);
break;
217 case wire::SysDeviceInfo::HARDWARE_REV_MULTISENSE_KS21:
218 ASSERT_EQ(info.
hardware_revision, MultiSenseInfo::DeviceInfo::HardwareRevision::KS21);
break;
219 case wire::SysDeviceInfo::HARDWARE_REV_MULTISENSE_MONOCAM:
220 ASSERT_EQ(info.
hardware_revision, MultiSenseInfo::DeviceInfo::HardwareRevision::MONOCAM);
break;
221 case wire::SysDeviceInfo::HARDWARE_REV_MULTISENSE_KS21_SILVER:
222 ASSERT_EQ(info.
hardware_revision, MultiSenseInfo::DeviceInfo::HardwareRevision::KS21_SILVER);
break;
223 case wire::SysDeviceInfo::HARDWARE_REV_MULTISENSE_ST25:
224 ASSERT_EQ(info.
hardware_revision, MultiSenseInfo::DeviceInfo::HardwareRevision::ST25);
break;
225 case wire::SysDeviceInfo::HARDWARE_REV_MULTISENSE_KS21i:
226 ASSERT_EQ(info.
hardware_revision, MultiSenseInfo::DeviceInfo::HardwareRevision::KS21i);
break;
241 case wire::SysDeviceInfo::IMAGER_TYPE_CMV2000_GREY:
242 ASSERT_EQ(info.
imager_type, MultiSenseInfo::DeviceInfo::ImagerType::CMV2000_GREY);
break;
243 case wire::SysDeviceInfo::IMAGER_TYPE_CMV2000_COLOR:
244 ASSERT_EQ(info.
imager_type, MultiSenseInfo::DeviceInfo::ImagerType::CMV2000_COLOR);
break;
245 case wire::SysDeviceInfo::IMAGER_TYPE_CMV4000_GREY:
246 ASSERT_EQ(info.
imager_type, MultiSenseInfo::DeviceInfo::ImagerType::CMV4000_GREY);
break;
247 case wire::SysDeviceInfo::IMAGER_TYPE_CMV4000_COLOR:
248 ASSERT_EQ(info.
imager_type, MultiSenseInfo::DeviceInfo::ImagerType::CMV4000_COLOR);
break;
249 case wire::SysDeviceInfo::IMAGER_TYPE_FLIR_TAU2:
250 ASSERT_EQ(info.
imager_type, MultiSenseInfo::DeviceInfo::ImagerType::FLIR_TAU2);
break;
251 case wire::SysDeviceInfo::IMAGER_TYPE_AR0234_GREY:
252 ASSERT_EQ(info.
imager_type, MultiSenseInfo::DeviceInfo::ImagerType::AR0234_GREY);
break;
253 case wire::SysDeviceInfo::IMAGER_TYPE_AR0239_COLOR:
254 ASSERT_EQ(info.
imager_type, MultiSenseInfo::DeviceInfo::ImagerType::AR0239_COLOR);
break;
255 case wire::SysDeviceInfo::IMAGER_TYPE_TENUM1280:
256 ASSERT_EQ(info.
imager_type, MultiSenseInfo::DeviceInfo::ImagerType::TENUM1280);
break;
269 case wire::SysDeviceInfo::LIGHTING_TYPE_NONE:
270 ASSERT_EQ(info.
lighting_type, MultiSenseInfo::DeviceInfo::LightingType::NONE);
break;
271 case wire::SysDeviceInfo::LIGHTING_TYPE_INTERNAL:
272 ASSERT_EQ(info.
lighting_type, MultiSenseInfo::DeviceInfo::LightingType::INTERNAL);
break;
273 case wire::SysDeviceInfo::LIGHTING_TYPE_EXTERNAL:
274 ASSERT_EQ(info.
lighting_type, MultiSenseInfo::DeviceInfo::LightingType::EXTERNAL);
break;
275 case wire::SysDeviceInfo::LIGHTING_TYPE_PATTERN_PROJECTOR:
276 ASSERT_EQ(info.
lighting_type, MultiSenseInfo::DeviceInfo::LightingType::PATTERN_PROJECTOR);
break;
277 case wire::SysDeviceInfo::LIGHTING_TYPE_OUTPUT_TRIGGER:
278 ASSERT_EQ(info.
lighting_type, MultiSenseInfo::DeviceInfo::LightingType::OUTPUT_TRIGGER);
break;
279 case wire::SysDeviceInfo::LIGHTING_TYPE_PATTERN_PROJECTOR_AND_OUTPUT_TRIGGER:
280 ASSERT_EQ(info.
lighting_type, MultiSenseInfo::DeviceInfo::LightingType::PATTERN_PROJECTOR_OUTPUT_TRIGGER);
break;
330 const auto version = convert(version_wire);
332 const auto converted_version = get_version(version_wire.firmwareVersion);
334 ASSERT_EQ(version.firmware_build_date, version_wire.firmwareBuildDate);
339 ASSERT_FALSE(version.firmware_version < converted_version);
340 ASSERT_FALSE(converted_version < version.firmware_version);
342 ASSERT_EQ(version.hardware_version, version_wire.hardwareVersion);
350 const wire::IdType sources = wire::SOURCE_LUMA_LEFT | wire::SOURCE_LUMA_RECT_RIGHT | wire::SOURCE_DISPARITY;
352 constexpr uint32_t imager_width = 1920;
353 constexpr uint32_t imager_height = 1200;
356 const auto modes = convert(wire_modes);
358 ASSERT_EQ(modes.size(), wire_modes.modes.size());
360 for(
size_t i = 0 ; i < modes.size() ; ++i)
362 ASSERT_EQ(modes[i].width, wire_modes.modes[i].width);
363 ASSERT_EQ(modes[i].height, wire_modes.modes[i].height);
365 ASSERT_EQ(modes[i].disparities, get_disparities(wire_modes.modes[i].disparities));
367 const auto full_sources = convert_sources(modes[i].supported_sources);
368 ASSERT_EQ(full_sources & 0x00000000FFFFFFFF, wire_modes.modes[i].supportedDataSources);
369 ASSERT_EQ(full_sources >> 32, wire_modes.modes[i].extendedDataSources);
378 const auto info = convert(wire_info);
380 for (
size_t i = 0 ; i < wire_info.details.size() ; ++i)
382 const auto &detail = wire_info.details[i];
384 if (info.accelerometer && info.accelerometer->name == detail.name)
388 else if (info.gyroscope && info.gyroscope->name == detail.name)
392 else if (info.magnetometer && info.magnetometer->name == detail.name)