refactor(device): move get/set params to channels adapter
This commit is contained in:
@@ -122,4 +122,52 @@ void Standard2ChannelsAdapter::GetImuResPacket(
|
||||
unpack_imu_res_packet(data, res);
|
||||
}
|
||||
|
||||
std::size_t Standard2ChannelsAdapter::GetImgParamsFromData(
|
||||
const std::uint8_t *data, const Version *version,
|
||||
Channels::img_params_t *img_params) {
|
||||
std::size_t i = 0;
|
||||
|
||||
Intrinsics in_left, in_right;
|
||||
Extrinsics ex_right_to_left;
|
||||
|
||||
i += bytes::from_data(&in_left, data + i, version);
|
||||
i += bytes::from_data(&in_right, data + i, version);
|
||||
(*img_params)[{1280, 400}] = {true, in_left, in_right, ex_right_to_left};
|
||||
|
||||
i += bytes::from_data(&in_left, data + i, version);
|
||||
i += bytes::from_data(&in_right, data + i, version);
|
||||
(*img_params)[{2560, 800}] = {true, in_left, in_right, ex_right_to_left};
|
||||
|
||||
i += bytes::from_data(&ex_right_to_left, data + i, version);
|
||||
(*img_params)[{1280, 400}].ex_right_to_left = ex_right_to_left;
|
||||
(*img_params)[{2560, 800}].ex_right_to_left = ex_right_to_left;
|
||||
|
||||
return i;
|
||||
}
|
||||
|
||||
std::size_t Standard2ChannelsAdapter::SetImgParamsToData(
|
||||
const Channels::img_params_t *img_params, const Version *version,
|
||||
std::uint8_t *data) {
|
||||
std::size_t i = 3; // skip id, size
|
||||
|
||||
{
|
||||
auto &¶ms = (*img_params).at({1280, 400});
|
||||
i += bytes::to_data(¶ms.in_left, data + i, version);
|
||||
i += bytes::to_data(¶ms.in_right, data + i, version);
|
||||
}
|
||||
{
|
||||
auto &¶ms = (*img_params).at({2560, 800});
|
||||
i += bytes::to_data(¶ms.in_left, data + i, version);
|
||||
i += bytes::to_data(¶ms.in_right, data + i, version);
|
||||
i += bytes::to_data(¶ms.ex_right_to_left, data + i, version);
|
||||
}
|
||||
|
||||
// others
|
||||
std::size_t size = i - 3;
|
||||
data[0] = Channels::FID_IMG_PARAMS;
|
||||
data[1] = static_cast<std::uint8_t>((size >> 8) & 0xFF);
|
||||
data[2] = static_cast<std::uint8_t>(size & 0xFF);
|
||||
return size + 3;
|
||||
}
|
||||
|
||||
MYNTEYE_END_NAMESPACE
|
||||
|
||||
@@ -37,6 +37,13 @@ class Standard2ChannelsAdapter : public ChannelsAdapter {
|
||||
std::vector<std::int32_t> GetGyroRangeValues() override;
|
||||
|
||||
void GetImuResPacket(const std::uint8_t *data, ImuResPacket *res) override;
|
||||
|
||||
std::size_t GetImgParamsFromData(
|
||||
const std::uint8_t *data, const Version *version,
|
||||
Channels::img_params_t *img_params) override;
|
||||
std::size_t SetImgParamsToData(
|
||||
const Channels::img_params_t *img_params, const Version *version,
|
||||
std::uint8_t *data) override;
|
||||
};
|
||||
|
||||
MYNTEYE_END_NAMESPACE
|
||||
|
||||
Reference in New Issue
Block a user