From 8922ff0518e0078dcec30bb082779db2a9a4e869 Mon Sep 17 00:00:00 2001 From: Anastasiia Stepanova Date: Mon, 14 Oct 2024 21:41:20 +0300 Subject: [PATCH] hot fix of bug with node.description (#75) --- Src/modules/dronecan/core/dronecan_module.cpp | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/Src/modules/dronecan/core/dronecan_module.cpp b/Src/modules/dronecan/core/dronecan_module.cpp index 408ded2..974d5eb 100644 --- a/Src/modules/dronecan/core/dronecan_module.cpp +++ b/Src/modules/dronecan/core/dronecan_module.cpp @@ -17,9 +17,12 @@ DronecanModule::DronecanModule() : Module(0, Protocol::DRONECAN) { void DronecanModule::init() { auto node_name_param_idx = static_cast(IntParamsIndexes::INTEGER_PARAMS_AMOUNT); - const auto& [board_name, name_length] = CircuitPeriphery::get_board_name(); - paramsSetStringValue(node_name_param_idx, name_length, (const uint8_t*)board_name); - uavcanSetNodeName(board_name); + const auto current_node_name = (const char*)paramsGetStringValue(node_name_param_idx); + if(strlen(current_node_name) == 0) { + const auto& [board_name, name_length] = CircuitPeriphery::get_board_name(); + paramsSetStringValue(node_name_param_idx, name_length, (const uint8_t*)board_name); + } + uavcanSetNodeName((const char*)paramsGetStringValue(node_name_param_idx)); int param_node_id_value = paramsGetIntegerValue(IntParamsIndexes::PARAM_UAVCAN_NODE_ID); auto node_id = std::clamp(param_node_id_value, 1, 126);