From cbe5182924c5b0ff9552e46c407e7255bdbdeec4 Mon Sep 17 00:00:00 2001 From: Kush Makkapati Date: Sun, 26 Oct 2025 14:26:46 +0000 Subject: [PATCH 1/2] Add connectionAbortedError handling --- radio/app/drone.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/radio/app/drone.py b/radio/app/drone.py index 8ff6b7f27..1c147b6e5 100644 --- a/radio/app/drone.py +++ b/radio/app/drone.py @@ -485,6 +485,13 @@ def checkForMessages(self) -> None: self.droneDisconnectCb() self.close() break + except ConnectionAbortedError as e: + self.logger.error("Connection to autopilot aborted") + self.logger.error(e, exc_info=True) + if self.droneDisconnectCb: + self.droneDisconnectCb() + self.close() + break except Exception as e: # Log any other unexpected exception self.logger.error(e, exc_info=True) From b71d67a01cd789f3851c03acdd79b83204c860d9 Mon Sep 17 00:00:00 2001 From: Kush Makkapati Date: Sun, 26 Oct 2025 14:36:04 +0000 Subject: [PATCH 2/2] Address copilot review comment --- radio/app/drone.py | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) diff --git a/radio/app/drone.py b/radio/app/drone.py index 1c147b6e5..48681b901 100644 --- a/radio/app/drone.py +++ b/radio/app/drone.py @@ -478,16 +478,8 @@ def checkForMessages(self) -> None: self.logger.error(e, exc_info=True) except KeyboardInterrupt: break - except serial.serialutil.SerialException as e: - self.logger.error("Autopilot disconnected") - self.logger.error(e, exc_info=True) - if self.droneDisconnectCb: - self.droneDisconnectCb() - self.close() - break - except ConnectionAbortedError as e: - self.logger.error("Connection to autopilot aborted") - self.logger.error(e, exc_info=True) + except (serial.serialutil.SerialException, ConnectionAbortedError): + self.logger.error("Autopilot disconnected", exc_info=True) if self.droneDisconnectCb: self.droneDisconnectCb() self.close()