Files
ESP32Marauder/esp32_marauder/BatteryInterface.cpp
Just Call Me Koko 40e11b71f0 Capture EAPOL packets
2020-03-21 18:54:14 -04:00

28 lines
588 B
C++

#include "BatteryInterface.h"
BatteryInterface::BatteryInterface() {
}
void BatteryInterface::RunSetup() {
Wire.begin(I2C_SDA, I2C_SCL);
}
int8_t BatteryInterface::getBatteryLevel() {
Wire.beginTransmission(IP5306_ADDR);
Wire.write(0x78);
if (Wire.endTransmission(false) == 0 &&
Wire.requestFrom(0x75, 1)) {
this->i2c_supported = true;
switch (Wire.read() & 0xF0) {
case 0xE0: return 25;
case 0xC0: return 50;
case 0x80: return 75;
case 0x00: return 100;
default: return 0;
}
}
this->i2c_supported = false;
return -1;
}