diff --git a/src/drivers/uavcan/sensors/battery.cpp b/src/drivers/uavcan/sensors/battery.cpp index b897c5604f7..7fe97713c49 100644 --- a/src/drivers/uavcan/sensors/battery.cpp +++ b/src/drivers/uavcan/sensors/battery.cpp @@ -37,6 +37,19 @@ #include #include +// Pre-shifted bitmask helpers for battery_status_s fault flags. +#define FAULT_DEEP_DISCHARGE_FLAG (1 << battery_status_s::FAULT_DEEP_DISCHARGE) +#define FAULT_SPIKES_FLAG (1 << battery_status_s::FAULT_SPIKES) +#define FAULT_CELL_FAIL_FLAG (1 << battery_status_s::FAULT_CELL_FAIL) +#define FAULT_OVER_CURRENT_FLAG (1 << battery_status_s::FAULT_OVER_CURRENT) +#define FAULT_OVER_TEMPERATURE_FLAG (1 << battery_status_s::FAULT_OVER_TEMPERATURE) +#define FAULT_UNDER_TEMPERATURE_FLAG (1 << battery_status_s::FAULT_UNDER_TEMPERATURE) +#define FAULT_INCOMPATIBLE_VOLTAGE_FLAG (1 << battery_status_s::FAULT_INCOMPATIBLE_VOLTAGE) +#define FAULT_INCOMPATIBLE_FIRMWARE_FLAG (1 << battery_status_s::FAULT_INCOMPATIBLE_FIRMWARE) +#define FAULT_INCOMPATIBLE_MODEL_FLAG (1 << battery_status_s::FAULT_INCOMPATIBLE_MODEL) +#define FAULT_HARDWARE_FAILURE_FLAG (1 << battery_status_s::FAULT_HARDWARE_FAILURE) +#define FAULT_FAILED_TO_ARM_FLAG (1 << battery_status_s::FAULT_FAILED_TO_ARM) + const char *const UavcanBatteryBridge::NAME = "battery"; void UavcanBatteryBridge::publishBattery(int node_id, uint8_t instance) @@ -315,19 +328,19 @@ void UavcanBatteryBridge::cbat_sub_cb(const uavcan::ReceivedDataStructure