Skip to content

Commit 804b445

Browse files
committed
Emergency button on booster page
1 parent 7422583 commit 804b445

3 files changed

Lines changed: 17 additions & 5 deletions

File tree

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

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,11 +16,10 @@ export const VehicleState = () => {
1616
const lostConnection = useContext(LostConnectionContext);
1717

1818
const [hasReceivedData, setHasReceivedData] = useState(false);
19-
const [generalState, setGeneralState] = useState('FAULT'); // Estado por defecto conservador
19+
const [generalState, setGeneralState] = useState('FAULT');
2020
const [operationalState, setOperationalState] = useState('FAULT');
2121

2222
useGlobalTicker(() => {
23-
// Verificar si se han recibido paquetes de VCU
2423
const vcuBoard = podData.boards.find(board => board.name === 'VCU');
2524
const hasReceivedPackets = vcuBoard?.packets.some(packet => packet.count > 0) || false;
2625

@@ -29,13 +28,11 @@ export const VehicleState = () => {
2928
setGeneralState(currentGeneralState);
3029
setOperationalState(currentOperationalState);
3130

32-
// Solo marcar como recibido si realmente hemos recibido paquetes de VCU
3331
if (hasReceivedPackets && !hasReceivedData) {
3432
setHasReceivedData(true);
3533
}
3634
});
3735

38-
// Determinar si mostrar como desconectado
3936
const showDisconnected = lostConnection || !hasReceivedData;
4037

4138
const state = showDisconnected

control-station/src/pages/VehiclePage/BoosterPage/BoosterPage.module.scss

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,11 @@
2525
height: 100%;
2626
}
2727

28+
.emergency_wrapper {
29+
justify-content: center;
30+
min-height: 0;
31+
height: 3rem;
32+
}
2833
.statusIndicators {
2934
display: grid;
3035
grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));

control-station/src/pages/VehiclePage/BoosterPage/BoosterPage.tsx

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ import {
1515
} from "common";
1616
import { OrdersContainer } from "components/OrdersContainer/OrdersContainer";
1717
import { Window } from "components/Window/Window";
18-
import { getHardcodedOrders } from "../BatteriesPage/FixedOrders";
18+
import { emergencyStopOrders, getHardcodedOrders } from "../BatteriesPage/FixedOrders";
1919
import { usePodDataUpdate } from "hooks/usePodDataUpdate";
2020
import { Connection, useConnections } from "common";
2121
import { LostConnectionContext } from "services/connections";
@@ -26,6 +26,7 @@ import thunder from "assets/svg/thunder-filled.svg";
2626
import thermometer from "assets/svg/thermometer-field.svg";
2727
import Contactors from "assets/svg/open-contactors-icon.svg";
2828
import teamLogo from "assets/svg/team_logo.svg";
29+
import { BigOrderButton } from "components/BigOrderButton";
2930

3031
interface ModuleData {
3132
id: number | string;
@@ -153,6 +154,15 @@ export function BoosterPage() {
153154
<Window title="Messages" className={styles.messages}>
154155
<MessagesContainer />
155156
</Window>
157+
<div className={styles.emergency_wrapper}>
158+
<BigOrderButton
159+
orders={emergencyStopOrders}
160+
label="⚠️ EMERGENCY STOP"
161+
shortcut=" "
162+
className={`${styles.emergency_button} ${styles.emergency_stop}`}
163+
brightness={3}
164+
/>
165+
</div>
156166
<Window title="Orders" className={styles.orders}>
157167
<div className={styles.order_column}>
158168
<OrdersContainer

0 commit comments

Comments
 (0)