uavcan: optimization

This commit is contained in:
ttechnick 2026-02-17 09:21:12 +01:00 committed by Nick
parent 8478503349
commit 790c2d3369
2 changed files with 2 additions and 8 deletions

View File

@ -176,7 +176,7 @@ uint32_t UavcanEscController::get_failures(uint8_t esc_index)
uint32_t failures = 0;
// Update device vendor/model information from device_information topic
device_information_s device_information;
device_information_s device_information{};
char esc_name[80] {};
@ -202,7 +202,7 @@ uint32_t UavcanEscController::get_failures(uint8_t esc_index)
}
}
if (esc_report.esc_address < UAVCAN_NODE_ID_MAX && (node_health == dronecan_node_status_s::HEALTH_OK ||
if (esc_report.esc_address <= uavcan::NodeID::Max && (node_health == dronecan_node_status_s::HEALTH_OK ||
node_health == dronecan_node_status_s::HEALTH_WARNING)) {
failures = 0;

View File

@ -49,17 +49,12 @@
#include <uavcan/equipment/esc/RawCommand.hpp>
#include <uavcan/equipment/esc/Status.hpp>
#include <uavcan/equipment/esc/StatusExtended.hpp>
#include <lib/perf/perf_counter.h>
#include <uORB/PublicationMulti.hpp>
#include <uORB/Subscription.hpp>
#include <uORB/SubscriptionMultiArray.hpp>
#include <uORB/topics/actuator_outputs.h>
#include <uORB/topics/esc_status.h>
#include <uORB/topics/esc_report.h>
#include <uORB/topics/dronecan_node_status.h>
#include <uORB/topics/device_information.h>
#include <drivers/drv_hrt.h>
#include <drivers/uavcan/node_info.hpp>
#include "../node_info.hpp"
class UavcanEscController
@ -67,7 +62,6 @@ class UavcanEscController
public:
static constexpr int MAX_ACTUATORS = esc_status_s::CONNECTED_ESC_MAX;
static constexpr unsigned MAX_RATE_HZ = 400;
static constexpr int16_t UAVCAN_NODE_ID_MAX = 128; // UAVCAN supports up to 128 nodes (0-127)
static_assert(uavcan::equipment::esc::RawCommand::FieldTypes::cmd::MaxSize >= MAX_ACTUATORS, "Too many actuators");