Path: blob/master/libraries/AP_BattMonitor/AP_BattMonitor_Analog.h
9666 views
#pragma once12#include "AP_BattMonitor_Backend.h"34#if AP_BATTERY_ANALOG_ENABLED56#include "AP_BattMonitor.h"78class AP_BattMonitor_Analog : public AP_BattMonitor_Backend9{10public:1112/// Constructor13AP_BattMonitor_Analog(AP_BattMonitor &mon, AP_BattMonitor::BattMonitor_State &mon_state, AP_BattMonitor_Params ¶ms);1415/// Read the battery voltage and current. Should be called at 10hz16virtual void read() override;1718/// returns true if battery monitor provides consumed energy info19virtual bool has_consumed_energy() const override { return has_current(); }2021/// returns true if battery monitor provides current info22virtual bool has_current() const override;2324virtual void init(void) override {}2526static const struct AP_Param::GroupInfo var_info[];2728protected:2930AP_HAL::AnalogSource *_volt_pin_analog_source;31AP_HAL::AnalogSource *_curr_pin_analog_source;3233// Parameters34AP_Float _volt_multiplier; /// voltage on volt pin multiplied by this to calculate battery voltage35AP_Float _curr_amp_per_volt; /// voltage on current pin multiplied by this to calculate current in amps36AP_Float _curr_amp_offset; /// offset voltage that is subtracted from current pin before conversion to amps37AP_Float _volt_offset; /// offset voltage that is subtracted from voltage pin before conversion38AP_Int8 _volt_pin; /// board pin used to measure battery voltage39AP_Int8 _curr_pin; /// board pin used to measure battery current40};4142#endif // AP_BATTERY_ANALOG_ENABLED434445