update the irsdk version
This commit is contained in:
@@ -5,7 +5,7 @@ go 1.25.5
|
||||
require (
|
||||
github.com/ESilva15/ESgoRepl v0.1.0
|
||||
github.com/ESilva15/gobngsdk v1.1.3
|
||||
github.com/ESilva15/goirsdk v0.2.11
|
||||
github.com/ESilva15/goirsdk v0.3.0
|
||||
github.com/arl/statsviz v0.8.0
|
||||
github.com/gdamore/tcell/v2 v2.8.1
|
||||
github.com/rivo/tview v0.42.0
|
||||
|
||||
@@ -2,8 +2,8 @@ github.com/ESilva15/ESgoRepl v0.1.0 h1:hOVcRBfdP8Yw1kLr2tFoM3SetV7vxFswKjzfAtq8U
|
||||
github.com/ESilva15/ESgoRepl v0.1.0/go.mod h1:O2JQMyEgHy0zf9UvzvLNvp2w95T2uazc3torrzRmG9Y=
|
||||
github.com/ESilva15/gobngsdk v1.1.3 h1:CFaz2KjHKnBLrQuEN1QHOd1761cWM/rmTwLpSLrgbe4=
|
||||
github.com/ESilva15/gobngsdk v1.1.3/go.mod h1:cKLaZRgM0tGGXDvosaSjHnxeyC5Y6rg7zCLqEUJnOzw=
|
||||
github.com/ESilva15/goirsdk v0.2.11 h1:C/HuO9xGmRJ01vMR0KRjrhcMEfq1Mea1rQK0CICaOU4=
|
||||
github.com/ESilva15/goirsdk v0.2.11/go.mod h1:5borQbw+L4fe9b58JFHRHZwrzz0sMVAteuYbRnFOc0Q=
|
||||
github.com/ESilva15/goirsdk v0.3.0 h1:6D95Avq7chikGHwEUKh7Y/HaLHOWQ75Qxaz8oMDSfrw=
|
||||
github.com/ESilva15/goirsdk v0.3.0/go.mod h1:5borQbw+L4fe9b58JFHRHZwrzz0sMVAteuYbRnFOc0Q=
|
||||
github.com/arl/statsviz v0.8.0 h1:O6GjjVxEDxcByAucOSl29HaGYLXsuwA3ujJw8H9E7/U=
|
||||
github.com/arl/statsviz v0.8.0/go.mod h1:XlrbiT7xYT03xaW9JMMfD8KFUhBOESJwfyNJu83PbB0=
|
||||
github.com/cpuguy83/go-md2man/v2 v2.0.4/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o=
|
||||
|
||||
@@ -15,6 +15,9 @@ import (
|
||||
"github.com/arl/statsviz"
|
||||
)
|
||||
|
||||
// NOTE: in go we have the init() function. Its a function that runs before
|
||||
// everything else in a package. Make use of that
|
||||
|
||||
func initApplication() {
|
||||
fmt.Fprint(os.Stdout, "\x1b]0;ESDI\x07")
|
||||
|
||||
|
||||
+1
-1
@@ -54,7 +54,7 @@ func RunLiveTelemetry(port string, output string, session string) {
|
||||
// log.Fatalf("Failed to create iRacing interface: %v", err)
|
||||
// }
|
||||
|
||||
irsdk, err := goirsdk.Init(nil, output, session)
|
||||
irsdk, err := goirsdk.Init(goirsdk.Options{})
|
||||
if err != nil {
|
||||
log.Fatalf("Failed to create irsdk instance: %v\n", err)
|
||||
}
|
||||
|
||||
@@ -7,7 +7,6 @@ import (
|
||||
"context"
|
||||
"fmt"
|
||||
"log/slog"
|
||||
"os"
|
||||
"strconv"
|
||||
"sync"
|
||||
"time"
|
||||
@@ -28,8 +27,9 @@ type IRacing struct {
|
||||
SDK *goirsdk.IBT
|
||||
|
||||
// Data Handling
|
||||
mut sync.Mutex
|
||||
data *telemetry.TelemetryData
|
||||
mut sync.Mutex
|
||||
data *telemetry.TelemetryData
|
||||
updaters [telemetry.MaxFields]func(*telemetry.TelemetryField)
|
||||
|
||||
// Timing information
|
||||
ticker *time.Ticker // ticker will keep polling intervals constant
|
||||
@@ -41,38 +41,28 @@ type IRacing struct {
|
||||
|
||||
func NewIRacingProvider(
|
||||
logger *slog.Logger,
|
||||
source string,
|
||||
telemOut string,
|
||||
yamlOut string,
|
||||
opts goirsdk.Options,
|
||||
) (*IRacing, error) {
|
||||
var err error
|
||||
|
||||
// Open the input file if provided - otherwise live telemetry was requested
|
||||
// Maybe this can be changed so we don't have to run it with these ifs but by configuring our
|
||||
// provider
|
||||
var file goirsdk.Reader = nil
|
||||
if source != "" {
|
||||
file, err = os.Open(source)
|
||||
if err != nil {
|
||||
return &IRacing{}, err
|
||||
// log.Fatalf("Failed to open IBT file: %v", err)
|
||||
}
|
||||
}
|
||||
|
||||
sdk, err := goirsdk.Init(file, telemOut, yamlOut)
|
||||
sdk, err := goirsdk.Init(opts)
|
||||
if err != nil {
|
||||
logger.Error("failed to open the IRSDK instance")
|
||||
return &IRacing{}, err
|
||||
}
|
||||
|
||||
return &IRacing{
|
||||
provider := &IRacing{
|
||||
logger: logger,
|
||||
SDK: sdk,
|
||||
data: telemetry.NewTelemetryData(),
|
||||
streamCh: make(chan telemetry.TelemetryData, 1),
|
||||
// NOTE: This is because I stupidly recorded a test IBT file in 240
|
||||
ticker: time.NewTicker(time.Second / 240),
|
||||
}, nil
|
||||
}
|
||||
|
||||
// provider.updaters = [telemetry.MaxFields]func(*telemetry.TelemetryField){}
|
||||
|
||||
return provider, nil
|
||||
}
|
||||
|
||||
func (i *IRacing) isDataAvailable() bool {
|
||||
|
||||
@@ -7,6 +7,8 @@ import (
|
||||
"esdi/providers/beamng"
|
||||
"esdi/providers/iracing"
|
||||
"esdi/telemetry"
|
||||
|
||||
"github.com/ESilva15/goirsdk"
|
||||
)
|
||||
|
||||
// Make this be some kind of struct where we can access a function that returns
|
||||
@@ -25,10 +27,9 @@ var Providers = map[string]Provider{
|
||||
},
|
||||
}
|
||||
|
||||
func NewIRacingProvider(logger *slog.Logger, source string,
|
||||
telemOut string, yamlOut string,
|
||||
func NewIRacingProvider(logger *slog.Logger, opts goirsdk.Options,
|
||||
) telemetry.TelemetryProvider {
|
||||
provider, _ := iracing.NewIRacingProvider(logger, source, "", "")
|
||||
provider, _ := iracing.NewIRacingProvider(logger, opts)
|
||||
|
||||
return provider
|
||||
}
|
||||
|
||||
@@ -7,6 +7,8 @@ import (
|
||||
|
||||
"esdi/providers"
|
||||
telem "esdi/telemetry"
|
||||
|
||||
"github.com/ESilva15/goirsdk"
|
||||
)
|
||||
|
||||
// TelemetryService will be our base struct to handle telemetry data
|
||||
@@ -31,8 +33,10 @@ func NewTelemetryService(logger *slog.Logger, cdash *CDashService) *TelemetrySer
|
||||
|
||||
// Need to instantiate a default provider here
|
||||
// source := "/home/esilva/Desktop/projetos/simracing_peripherals/testTelemetry/gt3_mustang_bathurst.ibt"
|
||||
// firstProvider := providers.NewIRacingProvider(slog.Default(), source, "", "")
|
||||
firstProvider := providers.NewBeamNGProvider("127.0.0.1", 4443)
|
||||
firstProvider := providers.NewIRacingProvider(slog.Default(), goirsdk.Options{
|
||||
SourceType: goirsdk.SharedMemoryFile,
|
||||
})
|
||||
// firstProvider := providers.NewBeamNGProvider("127.0.0.1", 4443)
|
||||
|
||||
newService.SwitchProvider(firstProvider)
|
||||
|
||||
|
||||
@@ -31,7 +31,8 @@ func NewLayoutController(base *Controller, service *services.CDashService) *Layo
|
||||
Messages: make(chan string, 10),
|
||||
DevService: service,
|
||||
MoveToolState: &windowManipState{Mode: moveMode},
|
||||
SelectedLayout: "beamng.yaml",
|
||||
// SelectedLayout: "beamng.yaml",
|
||||
SelectedLayout: "layout.yaml",
|
||||
}
|
||||
|
||||
lc.registerHooks()
|
||||
|
||||
Reference in New Issue
Block a user