add barometric pressure
This commit is contained in:
@@ -16,8 +16,10 @@ const (
|
||||
type Latest struct {
|
||||
mu sync.RWMutex
|
||||
|
||||
lastTS time.Time
|
||||
last *WS90Payload
|
||||
lastTS time.Time
|
||||
last *WS90Payload
|
||||
baroTS time.Time
|
||||
baroHPA *float64
|
||||
|
||||
// Rain tracking
|
||||
mode rainMode
|
||||
@@ -144,6 +146,7 @@ type Snapshot struct {
|
||||
|
||||
RainLastHourMM float64
|
||||
DailyRainMM float64
|
||||
PressureHPA *float64
|
||||
}
|
||||
|
||||
func (l *Latest) Snapshot() (Snapshot, bool) {
|
||||
@@ -162,10 +165,25 @@ func (l *Latest) Snapshot() (Snapshot, bool) {
|
||||
daySum += rp.mm
|
||||
}
|
||||
|
||||
var pressure *float64
|
||||
if l.baroHPA != nil {
|
||||
v := *l.baroHPA
|
||||
pressure = &v
|
||||
}
|
||||
|
||||
return Snapshot{
|
||||
TS: l.lastTS,
|
||||
P: *l.last,
|
||||
RainLastHourMM: hourSum,
|
||||
DailyRainMM: daySum,
|
||||
PressureHPA: pressure,
|
||||
}, true
|
||||
}
|
||||
|
||||
func (l *Latest) UpdateBarometer(ts time.Time, pressureHPA float64) {
|
||||
l.mu.Lock()
|
||||
defer l.mu.Unlock()
|
||||
|
||||
l.baroTS = ts
|
||||
l.baroHPA = &pressureHPA
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user