You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
38 lines
1.2 KiB
38 lines
1.2 KiB
#include "SIM_I2CDevice.h" |
|
|
|
#pragma once |
|
|
|
namespace SITL { |
|
|
|
class SMBusBattDevReg : public I2CRegEnum { |
|
public: |
|
static const uint8_t TEMP = 0x08; // Temperature |
|
static const uint8_t VOLTAGE = 0x09; // Voltage |
|
static const uint8_t CURRENT = 0x0A; // Current |
|
static const uint8_t REMAINING_CAPACITY = 0x0F; // Remaining Capacity |
|
static const uint8_t FULL_CHARGE_CAPACITY = 0x10; // Full Charge Capacity |
|
static const uint8_t CYCLE_COUNT = 0x17; // Cycle Count |
|
static const uint8_t SPECIFICATION_INFO = 0x1A; // Specification Info |
|
static const uint8_t SERIAL = 0x1C; // Serial Number |
|
static const uint8_t MANUFACTURE_NAME = 0x20; // Manufacture Name |
|
static const uint8_t MANUFACTURE_DATA = 0x23; // Manufacture Data |
|
}; |
|
|
|
class SIM_BattMonitor_SMBus : public I2CDevice, protected I2CRegisters_16Bit |
|
{ |
|
public: |
|
|
|
SIM_BattMonitor_SMBus(); |
|
|
|
virtual void update(const class Aircraft &aircraft) override; |
|
|
|
int rdwr(I2C::i2c_rdwr_ioctl_data *&data) override { |
|
return I2CRegisters_16Bit::rdwr(data); |
|
} |
|
|
|
private: |
|
|
|
uint32_t last_update_ms; |
|
}; |
|
|
|
} // namespace SITL
|
|
|