Files
esdi/telemetry/commonTransforms.go
esilva 0887fbfd75 simplified a bit how the TelemetryField updaters work
- now we only use one function to update the TelemetryField instead
of having to fetch data and then update it.

Still need to update the iRacing provider to use this pattern. Way
better and creates better units.

Got rid of that stupid long ass switch statement too
2026-07-07 17:52:47 +01:00

47 lines
819 B
Go

package telemetry
import "strconv"
func EmptyTransform(v any, out *TelemetryField) {
out.Type = DataTypeCHAR
out.Raw = uint64('-')
}
func UInt8Transform(v any, out *TelemetryField) {
out.Type = DataTypeUINT8
if v == nil {
out.Raw = 0
return
}
out.Raw = uint64(v.(int))
}
func FloatToStringTransform(v float32, out *TelemetryField) {
out.Type = DataTypeSTRING
out.Str = strconv.FormatFloat(float64(v), 'f', 1, 32)
}
func FloatToStringTransformDEPRECATE(v any, out *TelemetryField) {
out.Type = DataTypeSTRING
if v == nil {
out.Str = "inv"
return
}
out.Str = strconv.FormatFloat(float64(v.(float32)), 'f', 1, 32)
}
func FloatToUInt8TransformDEPRECATE(v any, out *TelemetryField) {
out.Type = DataTypeUINT8
if v == nil {
out.Raw = uint64(0)
return
}
out.Raw = uint64(v.(float32))
}