Files
esdi/telemetry/rpm_lights.go
esilva 2952528a60 partial subscriptions
not really partial. they just happen per peripheral now
2026-09-23 17:41:06 +01:00

37 lines
735 B
Go

package telemetry
import "esdi/constants"
type RPMLights struct {
State string
}
func NewRPMLights() *RPMLights {
return &RPMLights{
State: "WHITE",
}
}
func (rl *RPMLights) Process(td *TelemetryData) {
curRPM := td.Values[RPM].Raw
td.Values[RPMStateColour].Type = DataTypeSTRING
if curRPM >= 2000 && curRPM < 4000 {
td.Values[RPMStateColour].Str = "GREEN"
} else if curRPM >= 4000 && curRPM < 6000 {
td.Values[RPMStateColour].Str = "YELLOW"
} else if curRPM >= 6000 {
td.Values[RPMStateColour].Str = "RED"
} else {
td.Values[RPMStateColour].Str = "WHITE"
}
}
func (rl *RPMLights) EnsureSubscribed() []FieldID {
return []FieldID{RPM}
}
func (rl *RPMLights) Name() string {
return constants.RPMLightsName
}