From ad0e9889b2fca968f3dd8dc8b2fce1eec8c9a2a2 Mon Sep 17 00:00:00 2001 From: Max Schmeller <6088931+mojomex@users.noreply.github.com> Date: Tue, 18 Feb 2025 19:37:08 +0900 Subject: [PATCH] chore(hesai): enable PTP lock threshold setting for XT series sensors (#265) Signed-off-by: Max SCHMELLER --- .../hesai_hw_interface.cpp | 27 ++++++++++++------- 1 file changed, 17 insertions(+), 10 deletions(-) diff --git a/nebula_hw_interfaces/src/nebula_hesai_hw_interfaces/hesai_hw_interface.cpp b/nebula_hw_interfaces/src/nebula_hesai_hw_interfaces/hesai_hw_interface.cpp index 6b7f15464..809af7a68 100644 --- a/nebula_hw_interfaces/src/nebula_hesai_hw_interfaces/hesai_hw_interface.cpp +++ b/nebula_hw_interfaces/src/nebula_hesai_hw_interfaces/hesai_hw_interface.cpp @@ -1080,17 +1080,24 @@ HesaiStatus HesaiHwInterface::check_and_set_config( t.join(); logger_->debug("Thread finished"); - if ( - sensor_configuration_->sensor_model == SensorModel::HESAI_PANDAR128_E4X || - sensor_configuration_->sensor_model == SensorModel::HESAI_PANDARQT128) { - uint8_t sensor_ptp_lock_threshold = get_ptp_lock_offset(); - if (sensor_ptp_lock_threshold != sensor_configuration_->ptp_lock_threshold) { - NEBULA_LOG_STREAM( - logger_->info, "changing sensor PTP lock offset from " - << static_cast(sensor_ptp_lock_threshold) << " to " - << static_cast(sensor_configuration_->ptp_lock_threshold)); - set_ptp_lock_offset(sensor_configuration_->ptp_lock_threshold); + switch (sensor_configuration_->sensor_model) { + case SensorModel::HESAI_PANDAR128_E4X: + case SensorModel::HESAI_PANDARQT128: + case SensorModel::HESAI_PANDARXT16: + case SensorModel::HESAI_PANDARXT32: + case SensorModel::HESAI_PANDARXT32M: { + uint8_t sensor_ptp_lock_threshold = get_ptp_lock_offset(); + if (sensor_ptp_lock_threshold != sensor_configuration_->ptp_lock_threshold) { + NEBULA_LOG_STREAM( + logger_->info, "changing sensor PTP lock offset from " + << static_cast(sensor_ptp_lock_threshold) << " to " + << static_cast(sensor_configuration_->ptp_lock_threshold)); + set_ptp_lock_offset(sensor_configuration_->ptp_lock_threshold); + } + break; } + default: + break; } std::this_thread::sleep_for(wait_time);