mirror of
https://gitee.com/mirrors_PX4/PX4-Autopilot.git
synced 2026-04-14 10:07:39 +08:00
uavcan: optimization
This commit is contained in:
parent
8478503349
commit
790c2d3369
@ -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;
|
||||
|
||||
|
||||
@ -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");
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user