🔋 Updates battery service with voltage and current
This commit is contained in:
@@ -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;
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user