mirror of https://github.com/ArduPilot/ardupilot
41 lines
1.1 KiB
C++
41 lines
1.1 KiB
C++
#pragma once
|
|
|
|
#include "AP_BattMonitor_Backend.h"
|
|
|
|
#if AP_BATTERY_SUM_ENABLED
|
|
|
|
#include "AP_BattMonitor.h"
|
|
|
|
class AP_BattMonitor_Sum : public AP_BattMonitor_Backend
|
|
{
|
|
public:
|
|
|
|
/// Constructor
|
|
AP_BattMonitor_Sum(AP_BattMonitor &mon, AP_BattMonitor::BattMonitor_State &mon_state, AP_BattMonitor_Params ¶ms, uint8_t instance);
|
|
|
|
/// Read the battery voltage and current. Should be called at 10hz
|
|
void read() override;
|
|
|
|
/// returns true if battery monitor provides consumed energy info
|
|
bool has_consumed_energy() const override { return has_current(); }
|
|
|
|
/// returns true if battery monitor provides current info
|
|
bool has_current() const override { return _has_current; }
|
|
|
|
/// returns true if battery monitor provides temperature info
|
|
bool has_temperature() const override { return _has_temperature; }
|
|
|
|
void init(void) override {}
|
|
|
|
static const struct AP_Param::GroupInfo var_info[];
|
|
|
|
private:
|
|
|
|
AP_Int16 _sum_mask;
|
|
uint8_t _instance;
|
|
bool _has_current;
|
|
bool _has_temperature;
|
|
};
|
|
|
|
#endif // AP_BATTERY_SUM_ENABLED
|