Skip to content

Commit

Permalink
Update Single Return profile for 2.3.1 (#389)
Browse files Browse the repository at this point in the history
* Update Single Return profile for 2.3.1

* Implement single return parsing separate from legacy
* Add new metadata assets for tests
* Change single return reflectivity to 8 bits
  • Loading branch information
kairenw authored Jun 7, 2022
1 parent 43107a1 commit 7d47c8b
Show file tree
Hide file tree
Showing 6 changed files with 1,033 additions and 4 deletions.
6 changes: 5 additions & 1 deletion CHANGELOG.rst
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,12 @@
Changelog
=========

[20220607]
==========
* change single return parsing for FW 2.3.1

[20220504]
===========
==========

* update supported vcpkg tag to 2022.02.23
* update to manylinux2014 for x64 linux ``ouster-sdk`` wheels
Expand Down
13 changes: 12 additions & 1 deletion ouster_client/src/parsing.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -89,13 +89,24 @@ static const Table<ChanField, FieldInfo, 13> dual_field_info{{
{ChanField::RAW32_WORD4, {UINT32, 12, 0, 0}},
}};

static const Table<ChanField, FieldInfo, 8> single_field_info{{
{ChanField::RANGE, {UINT32, 0, 0x0007ffff, 0}},
{ChanField::FLAGS, {UINT8, 2, 0b11111000, 3}},
{ChanField::REFLECTIVITY, {UINT8, 4, 0, 0}},
{ChanField::SIGNAL, {UINT16, 6, 0, 0}},
{ChanField::NEAR_IR, {UINT16, 8, 0, 0}},
{ChanField::RAW32_WORD1, {UINT32, 0, 0, 0}},
{ChanField::RAW32_WORD2, {UINT32, 4, 0, 0}},
{ChanField::RAW32_WORD3, {UINT32, 8, 0, 0}},
}};

Table<UDPProfileLidar, ProfileEntry, 32> profiles{{
{UDPProfileLidar::PROFILE_LIDAR_LEGACY,
{legacy_field_info.data(), legacy_field_info.size(), 12}},
{UDPProfileLidar::PROFILE_RNG19_RFL8_SIG16_NIR16_DUAL,
{dual_field_info.data(), dual_field_info.size(), 16}},
{UDPProfileLidar::PROFILE_RNG19_RFL8_SIG16_NIR16,
{legacy_field_info.data(), legacy_field_info.size(), 12}},
{single_field_info.data(), single_field_info.size(), 12}},
{UDPProfileLidar::PROFILE_RNG15_RFL8_NIR8,
{lb_field_info.data(), lb_field_info.size(), 4}},
}};
Expand Down
4 changes: 3 additions & 1 deletion tests/bcompat_meta_json_test.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,9 @@ testing::Values(
"2_2_os-992119000444-128_legacy",
"2_2_os-992119000444-128",
"2_3_os-992146000760-128_legacy",
"2_3_os-992146000760-128"
"2_3_os-992146000760-128",
"2_3_1_os-992146000760-128_legacy",
"2_3_1_os-992146000760-128"

));
// clang-format on
Expand Down
39 changes: 38 additions & 1 deletion tests/bcompat_sensor_info_data.h
Original file line number Diff line number Diff line change
Expand Up @@ -459,6 +459,41 @@ static sensor_info si_2_3_os_992146000760_128 = {
7503,
};

static sensor_info si_2_3_1_os_992146000760_128_legacy = {
"",
"992146000760",
"v2.3.1-rc.1",
MODE_1024x10,
"OS-1-128",
{128, 16, 1024, { 24, 16, 8, 0, 24, 16, 8, 0, 24, 16, 8, 0, 24, 16, 8, 0, 24, 16, 8, 0, 24, 16, 8, 0, 24, 16, 8, 0, 24, 16, 8, 0, 24, 16, 8, 0, 24, 16, 8, 0, 24, 16, 8, 0, 24, 16, 8, 0, 24, 16, 8, 0, 24, 16, 8, 0, 24, 16, 8, 0, 24, 16, 8, 0, 24, 16, 8, 0, 24, 16, 8, 0, 24, 16, 8, 0, 24, 16, 8, 0, 24, 16, 8, 0, 24, 16, 8, 0, 24, 16, 8, 0, 24, 16, 8, 0, 24, 16, 8, 0, 24, 16, 8, 0, 24, 16, 8, 0, 24, 16, 8, 0, 24, 16, 8, 0, 24, 16, 8, 0, 24, 16, 8, 0, 24, 16, 8, 0} , {0, 1023}, PROFILE_LIDAR_LEGACY, PROFILE_IMU_LEGACY},
{ 4.27, 1.43, -1.39, -4.23, 4.26, 1.45, -1.38, -4.22, 4.28, 1.43, -1.39, -4.24, 4.27, 1.44, -1.4, -4.22, 4.28, 1.45, -1.39, -4.23, 4.26, 1.44, -1.4, -4.23, 4.27, 1.43, -1.39, -4.23, 4.26, 1.43, -1.4, -4.24, 4.26, 1.44, -1.4, -4.23, 4.28, 1.43, -1.4, -4.24, 4.26, 1.42, -1.39, -4.24, 4.27, 1.43, -1.42, -4.25, 4.26, 1.43, -1.42, -4.25, 4.28, 1.43, -1.42, -4.25, 4.26, 1.43, -1.44, -4.25, 4.27, 1.43, -1.43, -4.26, 4.27, 1.42, -1.43, -4.26, 4.25, 1.42, -1.43, -4.28, 4.25, 1.42, -1.45, -4.28, 4.26, 1.42, -1.44, -4.26, 4.26, 1.4, -1.46, -4.27, 4.24, 1.41, -1.43, -4.28, 4.26, 1.4, -1.44, -4.28, 4.22, 1.4, -1.43, -4.29, 4.25, 1.41, -1.45, -4.29, 4.24, 1.4, -1.46, -4.28, 4.24, 1.4, -1.44, -4.28, 4.22, 1.41, -1.45, -4.28, 4.25, 1.39, -1.45, -4.29, 4.23, 1.4, -1.45, -4.3, 4.22, 1.39, -1.47, -4.29, 4.22, 1.38, -1.47, -4.3 },
{ 21.34, 21.03, 20.72, 20.41, 20.08, 19.78, 19.48, 19.17, 18.83, 18.51, 18.21, 17.88, 17.56, 17.23, 16.92, 16.59, 16.26, 15.94, 15.61, 15.28, 14.93, 14.6, 14.27, 13.95, 13.61, 13.26, 12.94, 12.6, 12.26, 11.91, 11.58, 11.24, 10.89, 10.55, 10.21, 9.88, 9.52, 9.18, 8.83, 8.5, 8.14, 7.78, 7.46, 7.11, 6.75, 6.39, 6.05, 5.7, 5.33, 4.99, 4.64, 4.29, 3.94, 3.59, 3.24, 2.88, 2.52, 2.18, 1.81, 1.48, 1.11, 0.76, 0.4, 0.05, -0.3, -0.67, -1.01, -1.37, -1.75, -2.08, -2.43, -2.79, -3.15, -3.5, -3.86, -4.2, -4.56, -4.9, -5.27, -5.6, -5.96, -6.32, -6.68, -7, -7.38, -7.71, -8.05, -8.41, -8.77, -9.11, -9.45, -9.79, -10.16, -10.49, -10.83, -11.18, -11.54, -11.86, -12.2, -12.55, -12.91, -13.24, -13.58, -13.89, -14.26, -14.58, -14.89, -15.21, -15.6, -15.89, -16.22, -16.54, -16.88, -17.21, -17.52, -17.85, -18.2, -18.5, -18.82, -19.14, -19.47, -19.78, -20.09, -20.38, -20.72, -21.03, -21.33, -21.62 },
15.806,
mkmat4d({ 1, 0, 0, 6.253, 0, 1, 0, -11.775, 0, 0, 1, 7.645, 0, 0, 0, 1}),
mkmat4d({ -1, 0, 0, 0, 0, -1, 0, 0, 0, 0, 1, 36.18, 0, 0, 0, 1}),
mkmat4d({1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, }),
5431287,
7502,
7503,
};

static sensor_info si_2_3_1_os_992146000760_128 = {
"",
"992146000760",
"v2.3.1-rc.1",
MODE_1024x10,
"OS-1-128",
{128, 16, 1024, { 24, 16, 8, 0, 24, 16, 8, 0, 24, 16, 8, 0, 24, 16, 8, 0, 24, 16, 8, 0, 24, 16, 8, 0, 24, 16, 8, 0, 24, 16, 8, 0, 24, 16, 8, 0, 24, 16, 8, 0, 24, 16, 8, 0, 24, 16, 8, 0, 24, 16, 8, 0, 24, 16, 8, 0, 24, 16, 8, 0, 24, 16, 8, 0, 24, 16, 8, 0, 24, 16, 8, 0, 24, 16, 8, 0, 24, 16, 8, 0, 24, 16, 8, 0, 24, 16, 8, 0, 24, 16, 8, 0, 24, 16, 8, 0, 24, 16, 8, 0, 24, 16, 8, 0, 24, 16, 8, 0, 24, 16, 8, 0, 24, 16, 8, 0, 24, 16, 8, 0, 24, 16, 8, 0, 24, 16, 8, 0} , {0, 1023}, PROFILE_LIDAR_LEGACY, PROFILE_IMU_LEGACY},
{ 4.27, 1.43, -1.39, -4.23, 4.26, 1.45, -1.38, -4.22, 4.28, 1.43, -1.39, -4.24, 4.27, 1.44, -1.4, -4.22, 4.28, 1.45, -1.39, -4.23, 4.26, 1.44, -1.4, -4.23, 4.27, 1.43, -1.39, -4.23, 4.26, 1.43, -1.4, -4.24, 4.26, 1.44, -1.4, -4.23, 4.28, 1.43, -1.4, -4.24, 4.26, 1.42, -1.39, -4.24, 4.27, 1.43, -1.42, -4.25, 4.26, 1.43, -1.42, -4.25, 4.28, 1.43, -1.42, -4.25, 4.26, 1.43, -1.44, -4.25, 4.27, 1.43, -1.43, -4.26, 4.27, 1.42, -1.43, -4.26, 4.25, 1.42, -1.43, -4.28, 4.25, 1.42, -1.45, -4.28, 4.26, 1.42, -1.44, -4.26, 4.26, 1.4, -1.46, -4.27, 4.24, 1.41, -1.43, -4.28, 4.26, 1.4, -1.44, -4.28, 4.22, 1.4, -1.43, -4.29, 4.25, 1.41, -1.45, -4.29, 4.24, 1.4, -1.46, -4.28, 4.24, 1.4, -1.44, -4.28, 4.22, 1.41, -1.45, -4.28, 4.25, 1.39, -1.45, -4.29, 4.23, 1.4, -1.45, -4.3, 4.22, 1.39, -1.47, -4.29, 4.22, 1.38, -1.47, -4.3 },
{ 21.34, 21.03, 20.72, 20.41, 20.08, 19.78, 19.48, 19.17, 18.83, 18.51, 18.21, 17.88, 17.56, 17.23, 16.92, 16.59, 16.26, 15.94, 15.61, 15.28, 14.93, 14.6, 14.27, 13.95, 13.61, 13.26, 12.94, 12.6, 12.26, 11.91, 11.58, 11.24, 10.89, 10.55, 10.21, 9.88, 9.52, 9.18, 8.83, 8.5, 8.14, 7.78, 7.46, 7.11, 6.75, 6.39, 6.05, 5.7, 5.33, 4.99, 4.64, 4.29, 3.94, 3.59, 3.24, 2.88, 2.52, 2.18, 1.81, 1.48, 1.11, 0.76, 0.4, 0.05, -0.3, -0.67, -1.01, -1.37, -1.75, -2.08, -2.43, -2.79, -3.15, -3.5, -3.86, -4.2, -4.56, -4.9, -5.27, -5.6, -5.96, -6.32, -6.68, -7, -7.38, -7.71, -8.05, -8.41, -8.77, -9.11, -9.45, -9.79, -10.16, -10.49, -10.83, -11.18, -11.54, -11.86, -12.2, -12.55, -12.91, -13.24, -13.58, -13.89, -14.26, -14.58, -14.89, -15.21, -15.6, -15.89, -16.22, -16.54, -16.88, -17.21, -17.52, -17.85, -18.2, -18.5, -18.82, -19.14, -19.47, -19.78, -20.09, -20.38, -20.72, -21.03, -21.33, -21.62 },
15.806,
mkmat4d({ 1, 0, 0, 6.253, 0, 1, 0, -11.775, 0, 0, 1, 7.645, 0, 0, 0, 1}),
mkmat4d({ -1, 0, 0, 0, 0, -1, 0, 0, 0, 0, 1, 36.18, 0, 0, 0, 1}),
mkmat4d({1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, }),
5431287,
7502,
7503,
};
// for lookup by name
const std::map<std::string, sensor_info> expected_sensor_infos{
{"1_12_os1-991913000010-64", si_1_12_os1_991913000010_64},
Expand All @@ -484,7 +519,9 @@ const std::map<std::string, sensor_info> expected_sensor_infos{
{"2_2_os-992119000444-128_legacy", si_2_2_os_992119000444_128_legacy},
{"2_2_os-992119000444-128", si_2_2_os_992119000444_128},
{"2_3_os-992146000760-128_legacy", si_2_3_os_992146000760_128_legacy},
{"2_3_os-992146000760-128", si_2_3_os_992146000760_128}
{"2_3_os-992146000760-128", si_2_3_os_992146000760_128},
{"2_3_1_os-992146000760-128_legacy", si_2_3_1_os_992146000760_128_legacy},
{"2_3_1_os-992146000760-128", si_2_3_1_os_992146000760_128}
};

// clang-format on
Expand Down
Loading

0 comments on commit 7d47c8b

Please sign in to comment.