Path: blob/master/libraries/AP_BattMonitor/AP_BattMonitor_LTC2946.h
9693 views
#pragma once12#include <AP_Common/AP_Common.h>3#include <AP_HAL/I2CDevice.h>4#include "AP_BattMonitor_Backend.h"5#include <utility>67#if AP_BATTERY_LTC2946_ENABLED89class AP_BattMonitor_LTC2946 : public AP_BattMonitor_Backend10{11public:12// inherit constructor13using AP_BattMonitor_Backend::AP_BattMonitor_Backend;1415bool has_cell_voltages() const override { return false; }16bool has_temperature() const override { return false; }17bool has_current() const override { return true; }18bool get_cycle_count(uint16_t &cycles) const override { return false; }1920virtual void init(void) override;21virtual void read() override;2223private:24AP_HAL::I2CDevice *dev;2526bool read_word(const uint8_t reg, uint16_t& data) const;27void timer(void);2829struct {30uint16_t count;31float volt_sum;32float current_sum;33HAL_Semaphore sem;34} accumulate;35float current_LSB;36float voltage_LSB;37};3839#endif // AP_BATTERY_LTC2946_ENABLED404142