Path: blob/master/libraries/AP_BattMonitor/AP_BattMonitor_FuelFlow.h
9652 views
#pragma once12#include "AP_BattMonitor_Analog.h"34#if AP_BATTERY_FUELFLOW_ENABLED56#include "AP_BattMonitor.h"78class AP_BattMonitor_FuelFlow : public AP_BattMonitor_Analog9{10public:1112/// Constructor13AP_BattMonitor_FuelFlow(AP_BattMonitor &mon, AP_BattMonitor::BattMonitor_State &mon_state, AP_BattMonitor_Params ¶ms);1415/// Read the battery voltage and current. Should be called at 10hz16void read() override;1718/// returns true if battery monitor provides consumed energy info19bool has_consumed_energy() const override { return true; }2021/// returns true if battery monitor provides current info22bool has_current() const override { return true; }2324void init(void) override {}2526private:27void irq_handler(uint8_t pin, bool pin_state, uint32_t timestamp);2829struct IrqState {30uint32_t pulse_count;31uint32_t total_us;32uint32_t last_pulse_us;33} irq_state;3435int8_t last_pin = -1;36};3738#endif // AP_BATTERY_FUELFLOW_ENABLED394041