🔋 Updates battery service with voltage and current

This commit is contained in:
Rune Harlyk
2024-06-25 21:16:31 +02:00
parent e0096e53a9
commit d489759087
2 changed files with 32 additions and 12 deletions
+28 -9
View File
@@ -8,6 +8,7 @@
* https://github.com/theelims/ESP32-sveltekit
*
* Copyright (C) 2023 theelims
* Copyright (C) 2024 runeharlyk
*
* All Rights Reserved. This software may be modified and distributed under
* the terms of the LGPL v3 license. See the LICENSE file for details.
@@ -25,21 +26,39 @@ public:
void begin();
void updateSOC(float stateOfCharge)
{
_lastSOC = (int)round(stateOfCharge);
batteryEvent();
void loop() {
unsigned long currentMillis = millis();
if (!_lastUpdate || (currentMillis - _lastUpdate) >= BATTERY_CHECK_INTERVAL)
{
_lastUpdate = currentMillis;
updateBattery();
}
if(!_lastEmit || (currentMillis - _lastEmit) >= BATTERY_INTERVAL)
{
_lastEmit = currentMillis;
batteryEvent();
}
}
void setCharging(boolean isCharging)
void updateBattery()
{
_isCharging = isCharging;
batteryEvent();
}
float getVoltage() {
return _voltage;
}
float getCurrent() {
return _current;
}
private:
void batteryEvent();
EventSocket *_socket;
int _lastSOC = 100;
boolean _isCharging = false;
unsigned long _lastUpdate;
unsigned long _lastEmit;
float _voltage = 0;
float _current = 0;
};