55 case wire::SysDeviceInfo::HARDWARE_REV_MULTISENSE_S7:
57 case wire::SysDeviceInfo::HARDWARE_REV_MULTISENSE_S21:
59 case wire::SysDeviceInfo::HARDWARE_REV_MULTISENSE_ST21:
61 case wire::SysDeviceInfo::HARDWARE_REV_MULTISENSE_C6S2_S27:
63 case wire::SysDeviceInfo::HARDWARE_REV_MULTISENSE_S30:
65 case wire::SysDeviceInfo::HARDWARE_REV_MULTISENSE_KS21:
67 case wire::SysDeviceInfo::HARDWARE_REV_MULTISENSE_MONOCAM:
69 case wire::SysDeviceInfo::HARDWARE_REV_MULTISENSE_KS21_SILVER:
71 case wire::SysDeviceInfo::HARDWARE_REV_MULTISENSE_ST25:
73 case wire::SysDeviceInfo::HARDWARE_REV_MULTISENSE_KS21i:
88 case wire::SysDeviceInfo::IMAGER_TYPE_CMV2000_GREY:
90 case wire::SysDeviceInfo::IMAGER_TYPE_CMV2000_COLOR:
92 case wire::SysDeviceInfo::IMAGER_TYPE_CMV4000_GREY:
94 case wire::SysDeviceInfo::IMAGER_TYPE_CMV4000_COLOR:
96 case wire::SysDeviceInfo::IMAGER_TYPE_FLIR_TAU2:
98 case wire::SysDeviceInfo::IMAGER_TYPE_AR0234_GREY:
100 case wire::SysDeviceInfo::IMAGER_TYPE_AR0239_COLOR:
112 case (wire::SysDeviceInfo::LENS_TYPE_STANDARD):
114 case (wire::SysDeviceInfo::LENS_TYPE_FISHEYE):
125 case wire::SysDeviceInfo::LIGHTING_TYPE_NONE:
127 case wire::SysDeviceInfo::LIGHTING_TYPE_INTERNAL:
129 case wire::SysDeviceInfo::LIGHTING_TYPE_EXTERNAL:
131 case wire::SysDeviceInfo::LIGHTING_TYPE_PATTERN_PROJECTOR:
133 case wire::SysDeviceInfo::LIGHTING_TYPE_OUTPUT_TRIGGER:
135 case wire::SysDeviceInfo::LIGHTING_TYPE_PATTERN_PROJECTOR_AND_OUTPUT_TRIGGER:
159 {output.
hardwareRevision = wire::SysDeviceInfo::HARDWARE_REV_MULTISENSE_S7;
break;}
161 {output.
hardwareRevision = wire::SysDeviceInfo::HARDWARE_REV_MULTISENSE_S21;
break;}
163 {output.
hardwareRevision = wire::SysDeviceInfo::HARDWARE_REV_MULTISENSE_ST21;
break;}
165 {output.
hardwareRevision = wire::SysDeviceInfo::HARDWARE_REV_MULTISENSE_C6S2_S27;
break;}
167 {output.
hardwareRevision = wire::SysDeviceInfo::HARDWARE_REV_MULTISENSE_S30;
break;}
169 {output.
hardwareRevision = wire::SysDeviceInfo::HARDWARE_REV_MULTISENSE_KS21;
break;}
171 {output.
hardwareRevision = wire::SysDeviceInfo::HARDWARE_REV_MULTISENSE_MONOCAM;
break;}
173 {output.
hardwareRevision = wire::SysDeviceInfo::HARDWARE_REV_MULTISENSE_KS21_SILVER;
break;}
175 {output.
hardwareRevision = wire::SysDeviceInfo::HARDWARE_REV_MULTISENSE_ST25;
break;}
177 {output.
hardwareRevision = wire::SysDeviceInfo::HARDWARE_REV_MULTISENSE_KS21i;
break;}
182 for (uint32_t i = 0; i < info.
pcb_info.size(); ++i)
192 {output.
imagerType = wire::SysDeviceInfo::IMAGER_TYPE_CMV2000_GREY;
break;}
194 {output.
imagerType = wire::SysDeviceInfo::IMAGER_TYPE_CMV2000_COLOR;
break;}
196 {output.
imagerType = wire::SysDeviceInfo::IMAGER_TYPE_CMV4000_GREY;
break;}
198 {output.
imagerType = wire::SysDeviceInfo::IMAGER_TYPE_CMV4000_COLOR;
break;}
200 {output.
imagerType = wire::SysDeviceInfo::IMAGER_TYPE_FLIR_TAU2;
break;}
202 {output.
imagerType = wire::SysDeviceInfo::IMAGER_TYPE_AR0234_GREY;
break;}
204 {output.
imagerType = wire::SysDeviceInfo::IMAGER_TYPE_AR0239_COLOR;
break;}
218 { output.
lensType = wire::SysDeviceInfo::LENS_TYPE_STANDARD;
break;}
220 { output.
lensType = wire::SysDeviceInfo::LENS_TYPE_FISHEYE;
break;}
231 {output.
lightingType = wire::SysDeviceInfo::LIGHTING_TYPE_NONE;
break;}
233 {output.
lightingType = wire::SysDeviceInfo::LIGHTING_TYPE_INTERNAL;
break;}
235 {output.
lightingType = wire::SysDeviceInfo::LIGHTING_TYPE_EXTERNAL;
break;}
237 {output.
lightingType = wire::SysDeviceInfo::LIGHTING_TYPE_PATTERN_PROJECTOR;
break;}
239 {output.
lightingType = wire::SysDeviceInfo::LIGHTING_TYPE_OUTPUT_TRIGGER;
break;}
241 {output.
lightingType = wire::SysDeviceInfo::LIGHTING_TYPE_PATTERN_PROJECTOR_AND_OUTPUT_TRIGGER;
break;}
259 std::vector<MultiSenseInfo::SupportedOperatingMode> output;
260 for (
const auto &mode : modes.
modes)
262 const auto full_sources = (
static_cast<uint64_t
>(mode.extendedDataSources)) << 32 | mode.supportedDataSources;
273 std::vector<ImuRate> rates;
274 for (
const auto &rate : details.
rates)
276 rates.emplace_back(
ImuRate{rate.sampleRate, rate.bandwidthCutoff});
279 std::vector<ImuRange> ranges;
280 for (
const auto &range : details.
ranges)
282 ranges.emplace_back(
ImuRange{range.
range, range.resolution});
294 for (
const auto &mode : modes.
details)
296 const auto imu_source =
convert(mode);
298 if (mode.name ==
"accelerometer")
303 else if (mode.name ==
"gyroscope")
308 else if (mode.name ==
"magnetometer")