Skip to content

Commit 2f254df

Browse files
committed
Fix Enums
1 parent 6a092d1 commit 2f254df

4 files changed

Lines changed: 17 additions & 38 deletions

File tree

control-station/src/components/BoolIndicator/ImdIndicator.tsx

Lines changed: 5 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -12,22 +12,17 @@ export const ImdIndicator = () => {
1212
const podData = usePodDataStore((state) => state.podData);
1313
const lostConnection = useContext(LostConnectionContext);
1414

15-
const [hasReceivedData, setHasReceivedData] = useState(false);
16-
const [IsImdOk, setVariant] = useState(true);
15+
const [IsImdOk, setVariant] = useState<boolean | null>(true);
16+
17+
const hvscuBoard = podData.boards.find(board => board.name === 'HVSCU');
18+
const hasReceivedData = hvscuBoard?.packets.some(packet => packet.count > 0) || false;
1719

1820
useGlobalTicker(() => {
19-
const hvscuBoard = podData.boards.find(board => board.name === 'HVSCU');
20-
const hasReceivedPackets = hvscuBoard?.packets.some(packet => packet.count > 0) || false;
21-
2221
const currentValue = getValue();
2322
setVariant(currentValue);
24-
25-
if (hasReceivedPackets && !hasReceivedData) {
26-
setHasReceivedData(true);
27-
}
2823
});
2924

30-
const showDisconnected = lostConnection || !hasReceivedData;
25+
const showDisconnected = lostConnection || !hasReceivedData || IsImdOk === null;
3126

3227
return (
3328
<div

control-station/src/components/EnumIndicator/EnumIndicator.tsx

Lines changed: 6 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -16,24 +16,18 @@ export const EnumIndicator = memo(({ measurementId, icon }: Props) => {
1616
const podData = usePodDataStore((state) => state.podData);
1717
const lostConnection = useContext(LostConnectionContext);
1818

19-
const [hasReceivedData, setHasReceivedData] = useState(false);
20-
const [variant, setVariant] = useState(getValue());
19+
const [variant, setVariant] = useState<string | null>(getValue());
20+
21+
const boardName = measurementId.split('/')[0];
22+
const board = podData.boards.find(b => b.name === boardName);
23+
const hasReceivedData = board?.packets.some(packet => packet.count > 0) || false;
2124

2225
useGlobalTicker(() => {
23-
const boardName = measurementId.split('/')[0];
24-
25-
const board = podData.boards.find(b => b.name === boardName);
26-
const hasReceivedPackets = board?.packets.some(packet => packet.count > 0) || false;
27-
2826
const currentValue = getValue();
2927
setVariant(currentValue);
30-
31-
if (hasReceivedPackets && !hasReceivedData) {
32-
setHasReceivedData(true);
33-
}
3428
});
3529

36-
const showDisconnected = lostConnection || !hasReceivedData;
30+
const showDisconnected = lostConnection || !hasReceivedData || variant === null;
3731
const state = showDisconnected ? "DISCONNECTED" : variant;
3832

3933
return (

control-station/src/components/EnumIndicator/VehicleState.tsx

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -15,22 +15,17 @@ export const VehicleState = () => {
1515
const podData = usePodDataStore((state) => state.podData);
1616
const lostConnection = useContext(LostConnectionContext);
1717

18-
const [hasReceivedData, setHasReceivedData] = useState(false);
1918
const [generalState, setGeneralState] = useState('FAULT');
2019
const [operationalState, setOperationalState] = useState('FAULT');
2120

21+
const vcuBoard = podData.boards.find(board => board.name === 'VCU');
22+
const hasReceivedData = vcuBoard?.packets.some(packet => packet.count > 0) || false;
23+
2224
useGlobalTicker(() => {
23-
const vcuBoard = podData.boards.find(board => board.name === 'VCU');
24-
const hasReceivedPackets = vcuBoard?.packets.some(packet => packet.count > 0) || false;
25-
2625
const currentGeneralState = generalStateMeasurement();
2726
const currentOperationalState = operationalStateMeasurement();
2827
setGeneralState(currentGeneralState);
2928
setOperationalState(currentOperationalState);
30-
31-
if (hasReceivedPackets && !hasReceivedData) {
32-
setHasReceivedData(true);
33-
}
3429
});
3530

3631
const showDisconnected = lostConnection || !hasReceivedData;

control-station/src/pages/VehiclePage/MainPage/MainPageModules/BrakeState.tsx

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -11,19 +11,14 @@ export const BrakeState = () => {
1111
const podData = usePodDataStore((state) => state.podData);
1212
const lostConnection = useContext(LostConnectionContext);
1313

14-
const [hasReceivedData, setHasReceivedData] = useState(false);
1514
const [ReedsState, setVariant] = useState(false);
1615

16+
const vcuBoard = podData.boards.find(board => board.name === 'VCU');
17+
const hasReceivedData = vcuBoard?.packets.some(packet => packet.count > 0) || false;
18+
1719
useGlobalTicker(() => {
18-
const vcuBoard = podData.boards.find(board => board.name === 'VCU');
19-
const hasReceivedPackets = vcuBoard?.packets.some(packet => packet.count > 0) || false;
20-
2120
const currentValue = getValue();
2221
setVariant(currentValue);
23-
24-
if (hasReceivedPackets && !hasReceivedData) {
25-
setHasReceivedData(true);
26-
}
2722
});
2823

2924
const showDisconnected = lostConnection || !hasReceivedData;

0 commit comments

Comments
 (0)