From b1a1ed40adaebbf78cc098afac86c83905e91449 Mon Sep 17 00:00:00 2001 From: Kush Makkapati Date: Tue, 31 Mar 2026 21:17:32 +0100 Subject: [PATCH 1/4] Add cancelling drone connection mid way --- gcs/src/components/navbar.jsx | 10 ++- gcs/src/redux/middleware/emitters.js | 12 +++- radio/app/controllers/paramsController.py | 14 ++++ radio/app/drone.py | 34 ++++++++++ radio/app/droneStatus.py | 4 +- radio/app/endpoints/comPorts.py | 83 +++++++++++++++-------- radio/tests/test_ParamsController.py | 12 ++++ radio/tests/test_connections.py | 25 +++++++ 8 files changed, 162 insertions(+), 32 deletions(-) diff --git a/gcs/src/components/navbar.jsx b/gcs/src/components/navbar.jsx index 9e11e5011..a899b17aa 100644 --- a/gcs/src/components/navbar.jsx +++ b/gcs/src/components/navbar.jsx @@ -37,6 +37,7 @@ import { useDispatch, useSelector } from "react-redux" import { ConnectionType, emitConnectToDrone, + emitDisconnectFromDrone, emitGetComPorts, emitStartForwarding, emitStopForwarding, @@ -169,6 +170,9 @@ export default function Navbar() { { + if (connecting) { + dispatch(emitDisconnectFromDrone()) + } dispatch(setConnectionModal(false)) dispatch(setConnecting(false)) }} @@ -297,12 +301,14 @@ export default function Navbar() { variant="filled" color={"red"} onClick={() => { + if (connecting) { + dispatch(emitDisconnectFromDrone()) + } dispatch(setConnectionModal(false)) dispatch(setConnecting(false)) }} - disabled={connecting} > - Close + {connecting ? "Cancel" : "Close"}