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