Made charge tracker get time stamps from data poller instead of internally.
This commit is contained in:
@@ -49,8 +49,8 @@ func NewChargeTracker(fullLevel float64) *ChargeTracker {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (c *ChargeTracker) Update(amp float64) {
|
func (c *ChargeTracker) Update(amp float64, timestamp time.Time) {
|
||||||
newNow := time.Now()
|
newNow := timestamp
|
||||||
elapsed := newNow.Sub(c.lastUpdate).Hours()
|
elapsed := newNow.Sub(c.lastUpdate).Hours()
|
||||||
c.lastUpdate = newNow
|
c.lastUpdate = newNow
|
||||||
c.currentLevel -= elapsed * amp
|
c.currentLevel -= elapsed * amp
|
||||||
|
|||||||
@@ -180,7 +180,7 @@ func (w *WebGui) dataPoll(batteryCapacity float64) {
|
|||||||
} else {
|
} else {
|
||||||
statusP.status = s.MpStatus
|
statusP.status = s.MpStatus
|
||||||
statusP.err = nil
|
statusP.err = nil
|
||||||
tracker.Update(s.MpStatus.BatCurrent)
|
tracker.Update(s.MpStatus.BatCurrent, s.Time)
|
||||||
if s.MpStatus.Leds[Float] == 1 {
|
if s.MpStatus.Leds[Float] == 1 {
|
||||||
tracker.Reset()
|
tracker.Reset()
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user