Path: blob/master/libraries/AP_BattMonitor/AP_BattMonitor_Scripting.h
9592 views
#pragma once12#include "AP_BattMonitor_config.h"34#if AP_BATTERY_SCRIPTING_ENABLED56#include "AP_BattMonitor_Backend.h"78class AP_BattMonitor_Scripting : public AP_BattMonitor_Backend9{10public:11// Inherit constructor12using AP_BattMonitor_Backend::AP_BattMonitor_Backend;1314bool has_current() const override { return last_update_us != 0 && !isnan(internal_state.current_amps); }15bool has_consumed_energy() const override { return has_current(); }16bool has_cell_voltages() const override { return internal_state.cell_count > 0; }17bool has_temperature() const override { return last_update_us != 0 && !isnan(internal_state.temperature); }18bool capacity_remaining_pct(uint8_t &percentage) const override;19bool get_cycle_count(uint16_t &cycles) const override;2021void read() override;2223bool handle_scripting(const BattMonitorScript_State &battmon_state) override;2425protected:26BattMonitorScript_State internal_state;27uint32_t last_update_us;2829HAL_Semaphore sem;30};3132#endif // AP_BATTERY_SCRIPTING_ENABLED333435