7 #ifndef IFM3D_DESERIALIZE_STRUCT_CALIBRATION_HPP
8 #define IFM3D_DESERIALIZE_STRUCT_CALIBRATION_HPP
12 #include <type_traits>
13 #include <ifm3d/deserialize/deserialize_utils.hpp>
27 using Ptr = std::shared_ptr<struct ExtrinsicOpticToUser>;
36 Read(
const uint8_t* data)
38 trans_x = mkval<float>(data +
sizeof(
float) * 0);
39 trans_y = mkval<float>(data +
sizeof(
float) * 1);
40 trans_z = mkval<float>(data +
sizeof(
float) * 2);
41 rot_x = mkval<float>(data +
sizeof(
float) * 3);
42 rot_y = mkval<float>(data +
sizeof(
float) * 4);
43 rot_z = mkval<float>(data +
sizeof(
float) * 5);
64 using Ptr = std::shared_ptr<struct Calibration>;
66 std::array<float, 32> model_parameters;
68 Read(
const uint8_t* data)
70 model_id = mkval<uint32_t>(data);
71 mkarray<float, 32>(data +
sizeof(uint32_t), model_parameters);
87 using Ptr = std::shared_ptr<struct IMUSample>;
88 uint16_t hw_timestamp;
99 Read(
const uint8_t* data)
103 auto read = [&](
auto& val) {
104 using T = std::remove_reference_t<decltype(val)>;
105 val = mkval<T>(data + offset);
128 #endif // IFM3D_DESERIALIZE_STRUCT_CALIBRATION_HPP