diff --git a/providers/iracing/iracing.go b/providers/iracing/iracing.go index 75669d2..a4489ee 100644 --- a/providers/iracing/iracing.go +++ b/providers/iracing/iracing.go @@ -10,7 +10,6 @@ import ( "time" conv "esdi/conversions" - "esdi/telemetry" telem "esdi/telemetry" "github.com/ESilva15/goirsdk" @@ -76,12 +75,6 @@ func (i *IRacing) stream(ctx context.Context) { case <-i.ticker.C: i.readData() - // Create a snapshot - i.mut.Lock() - // snapshot := *i.data - i.logger.Debug(fmt.Sprintf("%v\n", i.data.Values)) - i.mut.Unlock() - // Publish data select { case i.streamCh <- *i.data: @@ -108,7 +101,7 @@ func (i *IRacing) readData() { for _, b := range i.activeBindings { v := i.SDK.Vars.Vars[b.Key].Value // NOTE: for the love of god, find a way of avoiding this shit - b.Transform(v, &i.data.Values[b.ID+telem.FirstField]) + b.Transform(v, &i.data.Values[b.ID]) } i.data.PenultimateDataPoll = i.data.LastDataPoll @@ -136,7 +129,7 @@ func (i *IRacing) Subscribe(requestFields []telem.FieldID) { for _, id := range requestFields { // Translate the UI FieldIDs to this provider's field names - sdkKey, ok := internalToSDKFieldNames[id+telem.FirstField] + sdkKey, ok := internalToSDKFieldNames[id] if !ok { i.logger.Debug("failed to get internal id") // Need to find a way to pass a message saying something wasn't right @@ -149,19 +142,19 @@ func (i *IRacing) Subscribe(requestFields []telem.FieldID) { } switch id { - case telem.Speed - telem.FirstField: + case telem.Speed: binding.Transform = func(v any, out *telem.TelemetryField) { - out.Type = telemetry.DataTypeUINT16 + out.Type = telem.DataTypeUINT16 out.Raw = uint64(conv.MsToKph(v.(float32))) } - case telem.Gear - telem.FirstField: + case telem.Gear: binding.Transform = func(v any, out *telem.TelemetryField) { - out.Type = telemetry.DataTypeUINT8 + out.Type = telem.DataTypeUINT8 out.Raw = uint64(v.(int)) } - case telem.RPM - telem.FirstField: + case telem.RPM: binding.Transform = func(v any, out *telem.TelemetryField) { - out.Type = telemetry.DataTypeUINT16 + out.Type = telem.DataTypeUINT16 out.Raw = uint64(uint16(v.(float32))) } } diff --git a/telemetry/data.go b/telemetry/data.go index 7dd9200..4988e49 100644 --- a/telemetry/data.go +++ b/telemetry/data.go @@ -91,10 +91,7 @@ type FieldID uint16 // We use FirstField to start the count on the fields the user can select // the first three will be for internal use const ( - FirstTimeStamp FieldID = iota - PreviousTimeStamp - LastTimeStamp - Speed + Speed FieldID = iota RPM Gear MaxFields diff --git a/tui/internal/controllers/streaming.go b/tui/internal/controllers/streaming.go index 673f5ee..1c5a54f 100644 --- a/tui/internal/controllers/streaming.go +++ b/tui/internal/controllers/streaming.go @@ -94,7 +94,7 @@ func (sc *StreamingCtrl) SetInternalState() { fields := make([]telemetry.FieldID, 0, len(sc.Service.CDash.State.Layout.Windows)) for _, w := range sc.Service.CDash.State.Layout.Windows { fieldID, _ := telemetry.GetFieldID(w.UIData.TelemetryField) - fields = append(fields, fieldID-telemetry.FirstField) + fields = append(fields, fieldID) } sc.TelemServ.ActiveProvider.Subscribe(fields) diff --git a/tui/internal/views/layoutTool_forms.go b/tui/internal/views/layoutTool_forms.go index 03afa6f..0d0151b 100644 --- a/tui/internal/views/layoutTool_forms.go +++ b/tui/internal/views/layoutTool_forms.go @@ -51,7 +51,7 @@ func NewCDashDisplayWindowFormView() *CDashDisplayWindowFormView { view.TextSize.SetCurrentOption(0) view.TelemetryField = tview.NewDropDown().SetLabel("Telemetry Field") - for _, fieldName := range telemetry.FieldNames[telemetry.FirstField:] { + for _, fieldName := range telemetry.FieldNames { view.TelemetryField.AddOption(fieldName, blankDropdownOptionCallback) } view.TelemetryField.SetCurrentOption(0) @@ -133,9 +133,9 @@ func (fv *WindowFormView) SetValues(win *cdashdisplay.DesktopUIWindow) { telemFieldID, ok := telemetry.GetFieldID(win.UIData.TelemetryField) if !ok { - telemFieldID = 100 + telemFieldID = 9999 } - fv.Form.TelemetryField.SetCurrentOption(int(telemFieldID - telemetry.FirstField)) + fv.Form.TelemetryField.SetCurrentOption(int(telemFieldID)) } func windowInfoPageID(idx int16) string {