From a3334124802c7f2add1f49aed1a369d6153212b0 Mon Sep 17 00:00:00 2001 From: Bharat Kathi Date: Wed, 19 Feb 2025 17:40:50 -0800 Subject: [PATCH 1/6] gr25: swap big to little endian --- gr25/model/ecu.go | 14 +++++++------- gr25/model/message.go | 2 +- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/gr25/model/ecu.go b/gr25/model/ecu.go index a86ffe58..cfc70ba2 100644 --- a/gr25/model/ecu.go +++ b/gr25/model/ecu.go @@ -2,9 +2,9 @@ package model import mp "github.com/gaucho-racing/mapache-go" -var ecuStatusOne = mp.Message{ - mp.NewField("ecu_state", 1, mp.Unsigned, mp.BigEndian, nil), - mp.NewField("ecu_status_flags", 3, mp.Unsigned, mp.BigEndian, func(f mp.Field) []mp.Signal { +var ECUStatusOne = mp.Message{ + mp.NewField("ecu_state", 1, mp.Unsigned, mp.LittleEndian, nil), + mp.NewField("ecu_status_flags", 3, mp.Unsigned, mp.LittleEndian, func(f mp.Field) []mp.Signal { signals := []mp.Signal{} bitMap := []string{ "ecu_status_acu", @@ -32,7 +32,7 @@ var ecuStatusOne = mp.Message{ } return signals }), - mp.NewField("ecu_maps", 1, mp.Unsigned, mp.BigEndian, func(f mp.Field) []mp.Signal { + mp.NewField("ecu_maps", 1, mp.Unsigned, mp.LittleEndian, func(f mp.Field) []mp.Signal { signals := []mp.Signal{} signals = append(signals, mp.Signal{ Name: "ecu_power_level", @@ -46,7 +46,7 @@ var ecuStatusOne = mp.Message{ }) return signals }), - mp.NewField("ecu_max_cell_temp", 1, mp.Unsigned, mp.BigEndian, func(f mp.Field) []mp.Signal { + mp.NewField("ecu_max_cell_temp", 1, mp.Unsigned, mp.LittleEndian, func(f mp.Field) []mp.Signal { signals := []mp.Signal{} signals = append(signals, mp.Signal{ Name: "ecu_max_cell_temp", @@ -55,7 +55,7 @@ var ecuStatusOne = mp.Message{ }) return signals }), - mp.NewField("ecu_acu_state_of_charge", 1, mp.Unsigned, mp.BigEndian, func(f mp.Field) []mp.Signal { + mp.NewField("ecu_acu_state_of_charge", 1, mp.Unsigned, mp.LittleEndian, func(f mp.Field) []mp.Signal { signals := []mp.Signal{} signals = append(signals, mp.Signal{ Name: "ecu_acu_state_of_charge", @@ -64,7 +64,7 @@ var ecuStatusOne = mp.Message{ }) return signals }), - mp.NewField("ecu_glv_state_of_charge", 1, mp.Unsigned, mp.BigEndian, func(f mp.Field) []mp.Signal { + mp.NewField("ecu_glv_state_of_charge", 1, mp.Unsigned, mp.LittleEndian, func(f mp.Field) []mp.Signal { signals := []mp.Signal{} signals = append(signals, mp.Signal{ Name: "ecu_glv_state_of_charge", diff --git a/gr25/model/message.go b/gr25/model/message.go index 3be674f4..8d35e100 100644 --- a/gr25/model/message.go +++ b/gr25/model/message.go @@ -3,7 +3,7 @@ package model import mp "github.com/gaucho-racing/mapache-go" var messageMap = map[int]mp.Message{ - 0x003: ecuStatusOne, + 0x003: ECUStatusOne, } func GetMessage(id int) mp.Message { From d713e3cd969be6f56fdb71fdcda7c220ad24833f Mon Sep 17 00:00:00 2001 From: Bharat Kathi Date: Wed, 19 Feb 2025 17:45:51 -0800 Subject: [PATCH 2/6] gr25: add ecu 0x004 --- gr25/model/ecu.go | 39 +++++++++++++++++++++++++++++++++++++++ gr25/model/message.go | 1 + 2 files changed, 40 insertions(+) diff --git a/gr25/model/ecu.go b/gr25/model/ecu.go index cfc70ba2..455f76ee 100644 --- a/gr25/model/ecu.go +++ b/gr25/model/ecu.go @@ -74,3 +74,42 @@ var ECUStatusOne = mp.Message{ return signals }), } + +var ECUStatusTwo = mp.Message{ + mp.NewField("ecu_tractive_system_voltage", 1, mp.Unsigned, mp.LittleEndian, func(f mp.Field) []mp.Signal { + signals := []mp.Signal{} + signals = append(signals, mp.Signal{ + Name: "ecu_tractive_system_voltage", + Value: float64(f.Value) * 0.01, + RawValue: f.Value, + }) + return signals + }), + mp.NewField("ecu_vehicle_speed", 1, mp.Unsigned, mp.LittleEndian, func(f mp.Field) []mp.Signal { + signals := []mp.Signal{} + signals = append(signals, mp.Signal{ + Name: "ecu_vehicle_speed", + Value: float64(f.Value) * 0.01, + RawValue: f.Value, + }) + return signals + }), + mp.NewField("ecu_fr_wheel_rpm", 1, mp.Unsigned, mp.LittleEndian, func(f mp.Field) []mp.Signal { + signals := []mp.Signal{} + signals = append(signals, mp.Signal{ + Name: "ecu_fr_wheel_rpm", + Value: float64(f.Value)*0.1 - 3276.8, + RawValue: f.Value, + }) + return signals + }), + mp.NewField("ecu_fl_wheel_rpm", 1, mp.Unsigned, mp.LittleEndian, func(f mp.Field) []mp.Signal { + signals := []mp.Signal{} + signals = append(signals, mp.Signal{ + Name: "ecu_fl_wheel_rpm", + Value: float64(f.Value)*0.1 - 3276.8, + RawValue: f.Value, + }) + return signals + }), +} diff --git a/gr25/model/message.go b/gr25/model/message.go index 8d35e100..1a96c9f9 100644 --- a/gr25/model/message.go +++ b/gr25/model/message.go @@ -4,6 +4,7 @@ import mp "github.com/gaucho-racing/mapache-go" var messageMap = map[int]mp.Message{ 0x003: ECUStatusOne, + 0x004: ECUStatusTwo, } func GetMessage(id int) mp.Message { From 9701658fea1f108592713c24b8b18db744ff11c9 Mon Sep 17 00:00:00 2001 From: Bharat Kathi Date: Wed, 19 Feb 2025 17:53:55 -0800 Subject: [PATCH 3/6] gr25: add ecu 0x005 --- gr25/model/ecu.go | 21 +++++++++++++++++++++ gr25/model/message.go | 1 + 2 files changed, 22 insertions(+) diff --git a/gr25/model/ecu.go b/gr25/model/ecu.go index 455f76ee..286b1f9e 100644 --- a/gr25/model/ecu.go +++ b/gr25/model/ecu.go @@ -113,3 +113,24 @@ var ECUStatusTwo = mp.Message{ return signals }), } + +var ECUStatusThree = mp.Message{ + mp.NewField("ecu_rr_wheel_rpm", 1, mp.Unsigned, mp.LittleEndian, func(f mp.Field) []mp.Signal { + signals := []mp.Signal{} + signals = append(signals, mp.Signal{ + Name: "ecu_rr_wheel_rpm", + Value: float64(f.Value)*0.1 - 3276.8, + RawValue: f.Value, + }) + return signals + }), + mp.NewField("ecu_rl_wheel_rpm", 1, mp.Unsigned, mp.LittleEndian, func(f mp.Field) []mp.Signal { + signals := []mp.Signal{} + signals = append(signals, mp.Signal{ + Name: "ecu_rl_wheel_rpm", + Value: float64(f.Value)*0.1 - 3276.8, + RawValue: f.Value, + }) + return signals + }), +} diff --git a/gr25/model/message.go b/gr25/model/message.go index 1a96c9f9..2b65852d 100644 --- a/gr25/model/message.go +++ b/gr25/model/message.go @@ -5,6 +5,7 @@ import mp "github.com/gaucho-racing/mapache-go" var messageMap = map[int]mp.Message{ 0x003: ECUStatusOne, 0x004: ECUStatusTwo, + 0x005: ECUStatusThree, } func GetMessage(id int) mp.Message { From 21938c32c2ad95db035a967249162139c9d1ab4a Mon Sep 17 00:00:00 2001 From: Bharat Kathi Date: Wed, 19 Feb 2025 17:59:43 -0800 Subject: [PATCH 4/6] gr25: fix ecu status ingest --- gr25/model/ecu.go | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/gr25/model/ecu.go b/gr25/model/ecu.go index 286b1f9e..8e06518e 100644 --- a/gr25/model/ecu.go +++ b/gr25/model/ecu.go @@ -76,7 +76,7 @@ var ECUStatusOne = mp.Message{ } var ECUStatusTwo = mp.Message{ - mp.NewField("ecu_tractive_system_voltage", 1, mp.Unsigned, mp.LittleEndian, func(f mp.Field) []mp.Signal { + mp.NewField("ecu_tractive_system_voltage", 2, mp.Unsigned, mp.LittleEndian, func(f mp.Field) []mp.Signal { signals := []mp.Signal{} signals = append(signals, mp.Signal{ Name: "ecu_tractive_system_voltage", @@ -85,7 +85,7 @@ var ECUStatusTwo = mp.Message{ }) return signals }), - mp.NewField("ecu_vehicle_speed", 1, mp.Unsigned, mp.LittleEndian, func(f mp.Field) []mp.Signal { + mp.NewField("ecu_vehicle_speed", 2, mp.Unsigned, mp.LittleEndian, func(f mp.Field) []mp.Signal { signals := []mp.Signal{} signals = append(signals, mp.Signal{ Name: "ecu_vehicle_speed", @@ -94,7 +94,7 @@ var ECUStatusTwo = mp.Message{ }) return signals }), - mp.NewField("ecu_fr_wheel_rpm", 1, mp.Unsigned, mp.LittleEndian, func(f mp.Field) []mp.Signal { + mp.NewField("ecu_fr_wheel_rpm", 2, mp.Unsigned, mp.LittleEndian, func(f mp.Field) []mp.Signal { signals := []mp.Signal{} signals = append(signals, mp.Signal{ Name: "ecu_fr_wheel_rpm", @@ -103,7 +103,7 @@ var ECUStatusTwo = mp.Message{ }) return signals }), - mp.NewField("ecu_fl_wheel_rpm", 1, mp.Unsigned, mp.LittleEndian, func(f mp.Field) []mp.Signal { + mp.NewField("ecu_fl_wheel_rpm", 2, mp.Unsigned, mp.LittleEndian, func(f mp.Field) []mp.Signal { signals := []mp.Signal{} signals = append(signals, mp.Signal{ Name: "ecu_fl_wheel_rpm", @@ -115,7 +115,7 @@ var ECUStatusTwo = mp.Message{ } var ECUStatusThree = mp.Message{ - mp.NewField("ecu_rr_wheel_rpm", 1, mp.Unsigned, mp.LittleEndian, func(f mp.Field) []mp.Signal { + mp.NewField("ecu_rr_wheel_rpm", 2, mp.Unsigned, mp.LittleEndian, func(f mp.Field) []mp.Signal { signals := []mp.Signal{} signals = append(signals, mp.Signal{ Name: "ecu_rr_wheel_rpm", @@ -124,7 +124,7 @@ var ECUStatusThree = mp.Message{ }) return signals }), - mp.NewField("ecu_rl_wheel_rpm", 1, mp.Unsigned, mp.LittleEndian, func(f mp.Field) []mp.Signal { + mp.NewField("ecu_rl_wheel_rpm", 2, mp.Unsigned, mp.LittleEndian, func(f mp.Field) []mp.Signal { signals := []mp.Signal{} signals = append(signals, mp.Signal{ Name: "ecu_rl_wheel_rpm", From a0d37f7b60062847154842bfa32afb19d87fe732 Mon Sep 17 00:00:00 2001 From: Bharat Kathi Date: Wed, 19 Feb 2025 18:17:31 -0800 Subject: [PATCH 5/6] dashboard: get rid all gr24 widgets --- dashboard/src/components/Header.tsx | 7 +- dashboard/src/consts/config.tsx | 169 +----- dashboard/src/main.tsx | 46 -- dashboard/src/models/gr24/acu.tsx | 503 ------------------ dashboard/src/models/gr24/mobile.tsx | 43 -- dashboard/src/pages/gr24/acu/ACUPage.tsx | 125 ----- .../pages/gr24/acu/widgets/CellLiveWidget.tsx | 187 ------- .../gr24/acu/widgets/DebugRawLiveWidget.tsx | 78 --- .../gr24/acu/widgets/SegmentLiveWidget.tsx | 175 ------ dashboard/src/pages/gr24/bcm/BCMPage.tsx | 110 ---- .../gr24/bcm/widgets/DebugRawLiveWidget.tsx | 78 --- .../pages/gr24/dash_panel/DashPanelPage.tsx | 111 ---- .../dash_panel/widgets/DebugRawLiveWidget.tsx | 78 --- .../pages/gr24/dashboard/DashboardPage.tsx | 69 --- .../src/pages/gr24/inverter/InverterPage.tsx | 110 ---- .../inverter/widgets/DebugRawLiveWidget.tsx | 78 --- .../src/pages/gr24/mobile/MobilePage.tsx | 127 ----- .../widgets/AccelerometerLiveWidget.tsx | 131 ----- .../widgets/AltitudeGraphLiveWidget.tsx | 206 ------- .../gr24/mobile/widgets/DebugLiveWidget.tsx | 134 ----- .../mobile/widgets/DebugRawLiveWidget.tsx | 86 --- .../gr24/mobile/widgets/MapLiveWidget.tsx | 122 ----- .../mobile/widgets/MapSpeedLiveWidget.tsx | 172 ------ .../gr24/mobile/widgets/SpeedLiveWidget.tsx | 105 ---- dashboard/src/pages/gr24/nodes/NodesPage.tsx | 374 ------------- .../src/pages/gr24/pedal/PedalDetailsPage.tsx | 131 ----- dashboard/src/pages/gr24/pedal/PedalPage.tsx | 113 ---- .../gr24/pedal/widgets/DebugRawLiveWidget.tsx | 78 --- .../gr24/pedal/widgets/PedalLiveWidget.tsx | 94 ---- dashboard/src/pages/gr24/vdm/VDMPage.tsx | 106 ---- .../gr24/vdm/widgets/DebugRawLiveWidget.tsx | 78 --- dashboard/src/pages/gr24/wheel/WheelPage.tsx | 106 ---- .../gr24/wheel/widgets/DebugRawLiveWidget.tsx | 78 --- 33 files changed, 3 insertions(+), 4205 deletions(-) delete mode 100644 dashboard/src/models/gr24/acu.tsx delete mode 100644 dashboard/src/models/gr24/mobile.tsx delete mode 100644 dashboard/src/pages/gr24/acu/ACUPage.tsx delete mode 100644 dashboard/src/pages/gr24/acu/widgets/CellLiveWidget.tsx delete mode 100644 dashboard/src/pages/gr24/acu/widgets/DebugRawLiveWidget.tsx delete mode 100644 dashboard/src/pages/gr24/acu/widgets/SegmentLiveWidget.tsx delete mode 100644 dashboard/src/pages/gr24/bcm/BCMPage.tsx delete mode 100644 dashboard/src/pages/gr24/bcm/widgets/DebugRawLiveWidget.tsx delete mode 100644 dashboard/src/pages/gr24/dash_panel/DashPanelPage.tsx delete mode 100644 dashboard/src/pages/gr24/dash_panel/widgets/DebugRawLiveWidget.tsx delete mode 100644 dashboard/src/pages/gr24/dashboard/DashboardPage.tsx delete mode 100644 dashboard/src/pages/gr24/inverter/InverterPage.tsx delete mode 100644 dashboard/src/pages/gr24/inverter/widgets/DebugRawLiveWidget.tsx delete mode 100644 dashboard/src/pages/gr24/mobile/MobilePage.tsx delete mode 100644 dashboard/src/pages/gr24/mobile/widgets/AccelerometerLiveWidget.tsx delete mode 100644 dashboard/src/pages/gr24/mobile/widgets/AltitudeGraphLiveWidget.tsx delete mode 100644 dashboard/src/pages/gr24/mobile/widgets/DebugLiveWidget.tsx delete mode 100644 dashboard/src/pages/gr24/mobile/widgets/DebugRawLiveWidget.tsx delete mode 100644 dashboard/src/pages/gr24/mobile/widgets/MapLiveWidget.tsx delete mode 100644 dashboard/src/pages/gr24/mobile/widgets/MapSpeedLiveWidget.tsx delete mode 100644 dashboard/src/pages/gr24/mobile/widgets/SpeedLiveWidget.tsx delete mode 100644 dashboard/src/pages/gr24/nodes/NodesPage.tsx delete mode 100644 dashboard/src/pages/gr24/pedal/PedalDetailsPage.tsx delete mode 100644 dashboard/src/pages/gr24/pedal/PedalPage.tsx delete mode 100644 dashboard/src/pages/gr24/pedal/widgets/DebugRawLiveWidget.tsx delete mode 100644 dashboard/src/pages/gr24/pedal/widgets/PedalLiveWidget.tsx delete mode 100644 dashboard/src/pages/gr24/vdm/VDMPage.tsx delete mode 100644 dashboard/src/pages/gr24/vdm/widgets/DebugRawLiveWidget.tsx delete mode 100644 dashboard/src/pages/gr24/wheel/WheelPage.tsx delete mode 100644 dashboard/src/pages/gr24/wheel/widgets/DebugRawLiveWidget.tsx diff --git a/dashboard/src/components/Header.tsx b/dashboard/src/components/Header.tsx index 9b0f0e39..2d4ed284 100644 --- a/dashboard/src/components/Header.tsx +++ b/dashboard/src/components/Header.tsx @@ -1,16 +1,13 @@ import { Avatar, AvatarFallback, AvatarImage } from "@/components/ui/avatar"; import { Separator } from "@/components/ui/separator"; -import { Button } from "@/components/ui/button"; import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, - DropdownMenuRadioGroup, - DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuTrigger, } from "@/components/ui/dropdown-menu"; -import { currentVehicle, currentUser } from "@/consts/config"; +import { currentUser } from "@/consts/config"; import { SHA256 } from "crypto-js"; import { useNavigate } from "react-router-dom"; import { logout } from "@/lib/auth"; @@ -24,8 +21,6 @@ interface HeaderProps { const Header = (props: HeaderProps) => { const navigate = useNavigate(); - function selectVehicle(vehicleId: string) {} - return (