diff --git a/RaceOverlay/API/Overlays/Electronics/Electronics.html b/RaceOverlay/API/Overlays/Electronics/Electronics.html new file mode 100644 index 0000000..16ceb5a --- /dev/null +++ b/RaceOverlay/API/Overlays/Electronics/Electronics.html @@ -0,0 +1,99 @@ + + + + + + + Electronics + + + + +
+
+
ABS
+
5
+ +
TC1
+
3
+ +
TC2
+
1
+ +
BB
+
54.2
+ +
ARB F
+
4
+ +
ARB R
+
2
+
+ +
+ + + + + diff --git a/RaceOverlay/API/Overlays/Electronics/ElectronicsModel.cs b/RaceOverlay/API/Overlays/Electronics/ElectronicsModel.cs new file mode 100644 index 0000000..4555ba0 --- /dev/null +++ b/RaceOverlay/API/Overlays/Electronics/ElectronicsModel.cs @@ -0,0 +1,25 @@ +using RaceOverlay.Data.Models; + +namespace RaceOverlay.API.Overlays.Electronics; + +public class ElectronicsModel +{ + public int abs_value { get; set; } + public int tc1 { get; set; } + public int tc2 { get; set; } + public float bb { get; set; } + public int abrf { get; set; } + public int abrr { get; set; } + + public ElectronicsModel() + { + iRacingData iRacingData = MainWindow.IRacingData; + abs_value = (int) iRacingData.LocalCarTelemetry.Abs; + tc1 = (int) iRacingData.LocalCarTelemetry.Tc1; + tc2 = (int) iRacingData.LocalCarTelemetry.Tc2; + bb = iRacingData.LocalCarTelemetry.BrakeBias; + abrf = (int) iRacingData.LocalCarTelemetry.ARBFront; + abrr = (int) iRacingData.LocalCarTelemetry.ARBRear; + } + +} \ No newline at end of file diff --git a/RaceOverlay/API/StartAPI.cs b/RaceOverlay/API/StartAPI.cs index 49025e1..4a8c8e3 100644 --- a/RaceOverlay/API/StartAPI.cs +++ b/RaceOverlay/API/StartAPI.cs @@ -7,6 +7,7 @@ using Microsoft.AspNetCore.Http; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Hosting; +using RaceOverlay.API.Overlays.Electronics; using RaceOverlay.API.Overlays.EnergyInfo; using RaceOverlay.API.Overlays.LaptimeDelta; using RaceOverlay.API.Overlays.SetupHider; @@ -147,6 +148,35 @@ public static IHost StartApiServer() }); + // + // Last Lap time Delta + // + + endpoints.MapGet("/overlay/electronics", () => + { + var assembly = typeof(StartAPI).Assembly; + var resourceName = "RaceOverlay.API.Overlays.Electronics.Electronics.html"; + + using var stream = assembly.GetManifestResourceStream(resourceName); + if (stream == null) + { + return Results.NotFound("Overlay file not found"); + } + + using var reader = new StreamReader(stream); + var htmlContent = reader.ReadToEnd(); + return Results.Content(htmlContent, "text/html"); + }) + .WithName("GetElectronicsOverlay"); + + endpoints.MapGet("/overlay/electronics/data", () => + { + Debug.WriteLine("GetElectronicsData"); + ElectronicsModel data = new ElectronicsModel(); + return Results.Ok(data); + }); + + // // // Weather Info diff --git a/RaceOverlay/MainWindow.xaml.cs b/RaceOverlay/MainWindow.xaml.cs index 0006eff..bc8f5df 100644 --- a/RaceOverlay/MainWindow.xaml.cs +++ b/RaceOverlay/MainWindow.xaml.cs @@ -78,6 +78,7 @@ private void _initOverlays() // Add here every Stream Overlay //StreamOverlays.Add(new Test()); StreamOverlays.Add(new BestLaptimeDelta()); + StreamOverlays.Add(new StreamOverlay.Electronics.Electronics()); StreamOverlays.Add(new StreamOverlay.EnergyInfo.EnergyInfo()); StreamOverlays.Add(new StreamOverlay.Inputs.Inputs()); StreamOverlays.Add(new LastLaptimeDelta()); diff --git a/RaceOverlay/Overlays/Electronics/Electronics.xaml.cs b/RaceOverlay/Overlays/Electronics/Electronics.xaml.cs index 4a23f88..dfa1012 100644 --- a/RaceOverlay/Overlays/Electronics/Electronics.xaml.cs +++ b/RaceOverlay/Overlays/Electronics/Electronics.xaml.cs @@ -30,7 +30,7 @@ public partial class Electronics : Overlay private iRacingData _data; - public Electronics(): base("Electronics", "An Overlay for displaying the in car adjustments of ABS, TC1, TC2 and Brake Bias(BB).") + public Electronics(): base("Electronics", "An Overlay for displaying the in car adjustments of ABS, TC1, TC2, Brake Bias(BB) and Anit Roll Bars (ARB) Front and Rear.") { InitializeComponent(); _getConfig(); diff --git a/RaceOverlay/RaceOverlay.csproj b/RaceOverlay/RaceOverlay.csproj index c27fe34..8fbbcdc 100644 --- a/RaceOverlay/RaceOverlay.csproj +++ b/RaceOverlay/RaceOverlay.csproj @@ -42,6 +42,8 @@ + + diff --git a/RaceOverlay/StreamOverlay/Electronics/Electronics.cs b/RaceOverlay/StreamOverlay/Electronics/Electronics.cs new file mode 100644 index 0000000..99ea917 --- /dev/null +++ b/RaceOverlay/StreamOverlay/Electronics/Electronics.cs @@ -0,0 +1,10 @@ +namespace RaceOverlay.StreamOverlay.Electronics; + +public class Electronics: Internals.StreamOverlay +{ + public Electronics() : base("Electronics", + "An Overlay for displaying the in car adjustments of ABS, TC1, TC2, Brake Bias(BB) and Anit Roll Bars (ARB) Front and Rear.", + "http://localhost:5480/overlay/electronics") + { + } +} \ No newline at end of file