Skip to content

Commit c78d65d

Browse files
feat: Enhance setRadar function to update GPS data alongside radar message
1 parent 5e47db1 commit c78d65d

File tree

1 file changed

+20
-1
lines changed

1 file changed

+20
-1
lines changed

visual_controller/frontend/src/state/useTankStore.ts

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,26 @@ export const useTankStore = create<TankStore>((set) => ({
6363
: prev.gps
6464
}));
6565
},
66-
setRadar: (message) => set({ radar: message }),
66+
setRadar: (message) =>
67+
set((prev) => {
68+
const gps = (message as unknown as { gps?: Record<string, unknown> }).gps;
69+
return {
70+
radar: message,
71+
gps:
72+
gps && typeof gps.lat === "number" && typeof gps.lon === "number"
73+
? {
74+
lat: gps.lat as number,
75+
lon: gps.lon as number,
76+
alt_m: (gps.alt_m as number | undefined) ?? prev.gps?.alt_m,
77+
speed_mps: (gps.speed_mps as number | undefined) ?? prev.gps?.speed_mps,
78+
hdop: (gps.hdop as number | undefined) ?? prev.gps?.hdop,
79+
satellites: (gps.satellites as number | undefined) ?? prev.gps?.satellites,
80+
fix_age_ms: (gps.fix_age_ms as number | undefined) ?? prev.gps?.fix_age_ms,
81+
timestamp: Date.now()
82+
}
83+
: prev.gps
84+
};
85+
}),
6786
setGps: (snapshot) => set({ gps: snapshot }),
6887
reset: () => set({ telemetry: undefined, radar: undefined, gps: null })
6988
}));

0 commit comments

Comments
 (0)