From 9ca853506d1c4cd9ea0370c01c27fee2082a521d Mon Sep 17 00:00:00 2001 From: Amy Chen Date: Tue, 26 Sep 2023 17:20:26 -0700 Subject: [PATCH 1/9] Add additional support for parachutes - Add messages to report parachute status and information - Add commands to arm with additional trigger methods and to shutdown the module --- message_definitions/v1.0/common.xml | 117 ++++++++++++++++++++++++++++ 1 file changed, 117 insertions(+) diff --git a/message_definitions/v1.0/common.xml b/message_definitions/v1.0/common.xml index 54f031cb13..f5f28dac82 100644 --- a/message_definitions/v1.0/common.xml +++ b/message_definitions/v1.0/common.xml @@ -1808,6 +1808,14 @@ Empty Empty + + Command to shutdown the parachute module + + + Command to arm/disarm parachute module + Arm Flags + Bitmask of arm flags (in param1) that should be modified + Mission command to control a camera or antenna mount, using a quaternion as reference. @@ -5102,6 +5110,93 @@ Illuminator thermistor failure. + + Parachute module arming flags (bitmap, 0 means no arming enabled) + + Arming parachute's drone trigger method + + + Arming parachute's automatic trigger system + + + Arming parachute's auto-arming its automatic trigger system capability + + + Arming parachute's auto-disarming its automatic trigger system capability + + + Arming parachute's manual trigger device method + + + Arming parachute's onboard computer trigger method + + + Arming parachute's geofence trigger method + + + + Parachute module deployment flags (bitmap, 0 means no deployment) + + Parachute has not deployed + + + Parachute deployed by manual trigger device + + + Parachute deployed by automatic trigger system + + + Parachute deployed by drone + + + Parachute deployed by onboard computer + + + Parachute deployed by geofence method + + + + Parachute module error flags (bitmap, 0 means no error) + + There is an error with the parachute barometer + + + There is an error with the parachute IMU + + + There is an error with the parachute RF + + + Parachute module has low power + + + There is an error with the parachute and FC (flight controller) connection + + + There is an error with the parachute pod + + + There is an error with the parachute electrical/external FTS (flight termination system) + + + Parachute module charging failed + + + There is an error with the parachute module's logging + + + This parachute module is retired (too many deployments) + + + There is an error with the parachute external power source + + + There is an error with the parachute and OBC (onboard computer) connection + + + There is an error with the parachute GPS + + @@ -7671,6 +7766,28 @@ Oldest Sequence number that is still available after the sequence set in REQUEST_EVENT. Error reason. + + Parachute system status + Uptime in ms + Errors + Parachute battery percentage + Parachute arming status + Boolean indicating charging (1) or not (0) + Parachute deployment_status + Parachute ATS auto-arming/disarming altitude in meters + + + Parachute information + Vendor ID + Product ID + Serial number in ASCII characters, null terminated. All 0: field not provided. + Parachute main system firmware version, encoded as: (Dev & 0xff) << 24 | (Patch & 0xff) << 16 | (Minor & 0xff) << 8 | (Major & 0xff). Use 0 if not known. + Parachute main system hardware version, encoded as: (Dev & 0xff) << 24 | (Patch & 0xff) << 16 | (Minor & 0xff) << 8 | (Major & 0xff). Use 0 if not known. + Parachute subsystem firmware version, encoded as: (Dev & 0xff) << 24 | (Patch & 0xff) << 16 | (Minor & 0xff) << 8 | (Major & 0xff). Use 0 if not known. + Parachute subsystem hardware version, encoded as: (Dev & 0xff) << 24 | (Patch & 0xff) << 16 | (Minor & 0xff) << 8 | (Major & 0xff). Use 0 if not known. + Parachute packed date (DD/MM/YYYY) in ASCII characters, 0 terminated. All 0: field not provided. + Manufacture date (DD/MM/YYYY) in ASCII characters, 0 terminated. All 0: field not provided. + Illuminator status Time since the start-up of the illuminator in ms From dd0a097bcb0f124a1178d678a3ef93cb9d76ce75 Mon Sep 17 00:00:00 2001 From: Amy Chen Date: Thu, 30 Nov 2023 13:43:04 -0800 Subject: [PATCH 2/9] Update common.xml - Add `MAV_CMD_SET_PARACHUTE_ARM_ALTI` for setting the ATS arm altitude - Add `PARACHUTE_ERROR_FLAGS_GS_ERROR` and `PARACHUTE_ERROR_FLAGS_SUBSYSTEM_ERROR` in `PARACHUTE_ERROR_FLAGS` --- message_definitions/v1.0/common.xml | 54 +++++++++++++++++------------ 1 file changed, 32 insertions(+), 22 deletions(-) diff --git a/message_definitions/v1.0/common.xml b/message_definitions/v1.0/common.xml index f5f28dac82..a81f20dbe9 100644 --- a/message_definitions/v1.0/common.xml +++ b/message_definitions/v1.0/common.xml @@ -1813,9 +1813,13 @@ Command to arm/disarm parachute module - Arm Flags + Arm Flags Bitmask of arm flags (in param1) that should be modified + + Command to set the parachute's automatic trigger system arming altitude in meters. + Parachute automatic trigger system arming altitude + Mission command to control a camera or antenna mount, using a quaternion as reference. @@ -5118,40 +5122,40 @@ Arming parachute's automatic trigger system - - Arming parachute's auto-arming its automatic trigger system capability - - - Arming parachute's auto-disarming its automatic trigger system capability - - + Arming parachute's manual trigger device method - + Arming parachute's onboard computer trigger method - + Arming parachute's geofence trigger method + + Reserved for future use. + + + Arming parachute's auto-arming its automatic trigger system capability + + + Arming parachute's auto-disarming its automatic trigger system capability + - + Parachute module deployment flags (bitmap, 0 means no deployment) - - Parachute has not deployed - - - Parachute deployed by manual trigger device + + Parachute deployed by drone - + Parachute deployed by automatic trigger system - - Parachute deployed by drone + + Parachute deployed by manual trigger device - + Parachute deployed by onboard computer - + Parachute deployed by geofence method @@ -5196,6 +5200,12 @@ There is an error with the parachute GPS + + There is an error with the parachute and GS (ground station) connection + + + There is an error with the parachute and subsystem connection + @@ -7773,7 +7783,7 @@ Parachute battery percentage Parachute arming status Boolean indicating charging (1) or not (0) - Parachute deployment_status + Parachute deployment_status Parachute ATS auto-arming/disarming altitude in meters From e0528d1dc5067335f4f1ecb2a235c082ef857ad1 Mon Sep 17 00:00:00 2001 From: Amy Chen Date: Thu, 30 Nov 2023 14:26:00 -0800 Subject: [PATCH 3/9] Update common.xml --- message_definitions/v1.0/common.xml | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/message_definitions/v1.0/common.xml b/message_definitions/v1.0/common.xml index a81f20dbe9..1cbd5fbc14 100644 --- a/message_definitions/v1.0/common.xml +++ b/message_definitions/v1.0/common.xml @@ -5114,7 +5114,7 @@ Illuminator thermistor failure. - + Parachute module arming flags (bitmap, 0 means no arming enabled) Arming parachute's drone trigger method @@ -5141,7 +5141,7 @@ Arming parachute's auto-disarming its automatic trigger system capability - + Parachute module deployment flags (bitmap, 0 means no deployment) Parachute deployed by drone @@ -5159,7 +5159,7 @@ Parachute deployed by geofence method - + Parachute module error flags (bitmap, 0 means no error) There is an error with the parachute barometer @@ -7788,8 +7788,6 @@ Parachute information - Vendor ID - Product ID Serial number in ASCII characters, null terminated. All 0: field not provided. Parachute main system firmware version, encoded as: (Dev & 0xff) << 24 | (Patch & 0xff) << 16 | (Minor & 0xff) << 8 | (Major & 0xff). Use 0 if not known. Parachute main system hardware version, encoded as: (Dev & 0xff) << 24 | (Patch & 0xff) << 16 | (Minor & 0xff) << 8 | (Major & 0xff). Use 0 if not known. From fed7c955c609145f3787ea4fa818dda5acde8295 Mon Sep 17 00:00:00 2001 From: Amy Chen Date: Wed, 10 Jan 2024 11:11:50 -0800 Subject: [PATCH 4/9] Update common.xml - Remove `MAV_CMD_DO_PARACHUTE_SHUTDOWN` and use `MAV_CMD_PREFLIGHT_REBOOT_SHUTDOWN` instead - Remove `battery_status` from `PARACHUTE_STATUS` and use `BATTERY_STATUS` instead - Remove `PARACHUTE_INFORMATION` and use `COMPONENT_INFORMATION_BASIC` instead - Add `manufacture_date` to `COMPONENT_INFORMATION_BASIC` - Move `parachute_packed_date` to `PARACHUTE_STATUS` --- message_definitions/v1.0/common.xml | 17 ++--------------- 1 file changed, 2 insertions(+), 15 deletions(-) diff --git a/message_definitions/v1.0/common.xml b/message_definitions/v1.0/common.xml index 1cbd5fbc14..e0ee6633c1 100644 --- a/message_definitions/v1.0/common.xml +++ b/message_definitions/v1.0/common.xml @@ -1808,15 +1808,12 @@ Empty Empty - - Command to shutdown the parachute module - - + Command to arm/disarm parachute module Arm Flags Bitmask of arm flags (in param1) that should be modified - + Command to set the parachute's automatic trigger system arming altitude in meters. Parachute automatic trigger system arming altitude @@ -7780,21 +7777,11 @@ Parachute system status Uptime in ms Errors - Parachute battery percentage Parachute arming status Boolean indicating charging (1) or not (0) Parachute deployment_status Parachute ATS auto-arming/disarming altitude in meters - - - Parachute information - Serial number in ASCII characters, null terminated. All 0: field not provided. - Parachute main system firmware version, encoded as: (Dev & 0xff) << 24 | (Patch & 0xff) << 16 | (Minor & 0xff) << 8 | (Major & 0xff). Use 0 if not known. - Parachute main system hardware version, encoded as: (Dev & 0xff) << 24 | (Patch & 0xff) << 16 | (Minor & 0xff) << 8 | (Major & 0xff). Use 0 if not known. - Parachute subsystem firmware version, encoded as: (Dev & 0xff) << 24 | (Patch & 0xff) << 16 | (Minor & 0xff) << 8 | (Major & 0xff). Use 0 if not known. - Parachute subsystem hardware version, encoded as: (Dev & 0xff) << 24 | (Patch & 0xff) << 16 | (Minor & 0xff) << 8 | (Major & 0xff). Use 0 if not known. Parachute packed date (DD/MM/YYYY) in ASCII characters, 0 terminated. All 0: field not provided. - Manufacture date (DD/MM/YYYY) in ASCII characters, 0 terminated. All 0: field not provided. Illuminator status From 4b1a8805551247f32b08e6da12823b6a78d4711f Mon Sep 17 00:00:00 2001 From: Amy Chen Date: Wed, 7 Feb 2024 19:08:30 -0800 Subject: [PATCH 5/9] Update common.xml Address PR feedback and test failures - Move parachute `MAV_CMD` enums since already in-use by ardupilotmega - Clean up spurious whitespace - ATS (automatic trigger system) isn't a common abbreviation - Removed manufacture date addition from this PR --- message_definitions/v1.0/common.xml | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/message_definitions/v1.0/common.xml b/message_definitions/v1.0/common.xml index e0ee6633c1..7de8c0beea 100644 --- a/message_definitions/v1.0/common.xml +++ b/message_definitions/v1.0/common.xml @@ -1808,15 +1808,6 @@ Empty Empty - - Command to arm/disarm parachute module - Arm Flags - Bitmask of arm flags (in param1) that should be modified - - - Command to set the parachute's automatic trigger system arming altitude in meters. - Parachute automatic trigger system arming altitude - Mission command to control a camera or antenna mount, using a quaternion as reference. @@ -1882,6 +1873,15 @@ Empty Empty + + Command to arm/disarm parachute module + Arm Flags + Bitmask of arm flags (in param1) that should be modified + + + Command to set the parachute's automatic trigger system arming altitude in meters. + Parachute automatic trigger system arming altitude + NOP - This command is only used to mark the upper limit of the DO commands in the enumeration Empty @@ -7780,7 +7780,7 @@ Parachute arming status Boolean indicating charging (1) or not (0) Parachute deployment_status - Parachute ATS auto-arming/disarming altitude in meters + Parachute Automatic Trigger System (ATS) auto-arming/disarming altitude in meters Parachute packed date (DD/MM/YYYY) in ASCII characters, 0 terminated. All 0: field not provided. From f59f2b54cbd0cb32182622f5497b4586bb9e8f6e Mon Sep 17 00:00:00 2001 From: Amy Chen Date: Wed, 15 May 2024 15:20:23 -0700 Subject: [PATCH 6/9] Update common.xml Address PR feedback: - Remove `MAV_CMD_SET_PARACHUTE_ARM_ALTI`, using params instead - Rename `PARACHUTE_ARM_FLAGS` to `PARACHUTE_TRIGGER_FLAGS` and update descriptions - Rename `PARACHUTE_DEPLOYMENT_FLAGS` to `PARACHUTE_DEPLOYMENT_TRIGGER`, update descriptions, and use it as enum instead of bit flags - Update descriptions in `PARACHUTE_ERROR_FLAGS` - Remove `charge_status` from `PARACHUTE_STATUS`, using `BATTERY_STATUS` instead New items added for safety and regulatory purposes: - `PARACHUTE_SAFETY_FLAGS` and FTS pre-checking --- message_definitions/v1.0/common.xml | 150 +++++++++++++++++----------- 1 file changed, 91 insertions(+), 59 deletions(-) diff --git a/message_definitions/v1.0/common.xml b/message_definitions/v1.0/common.xml index 7de8c0beea..b398b4e8ac 100644 --- a/message_definitions/v1.0/common.xml +++ b/message_definitions/v1.0/common.xml @@ -1875,12 +1875,8 @@ Command to arm/disarm parachute module - Arm Flags - Bitmask of arm flags (in param1) that should be modified - - - Command to set the parachute's automatic trigger system arming altitude in meters. - Parachute automatic trigger system arming altitude + Arm flags of parachute trigger sources + Bitmask of arm flags (in param1) that should be modified NOP - This command is only used to mark the upper limit of the DO commands in the enumeration @@ -5111,49 +5107,67 @@ Illuminator thermistor failure. - - Parachute module arming flags (bitmap, 0 means no arming enabled) - - Arming parachute's drone trigger method + + Parachute trigger sources. + + Manual trigger (ground based control via parachute-specific RF channel) - - Arming parachute's automatic trigger system + + Automatic trigger system (ATS) - - Arming parachute's manual trigger device method + + Flight controller trigger (e.g. MAVLink from FC, PWM, DroneCan, RC Control) - - Arming parachute's onboard computer trigger method + + Offboard computer trigger (via MAVLink) - - Arming parachute's geofence trigger method + + Geofence trigger (by parachute). Parachute uses MAVLink mission protocol to fetch geofence. - - Reserved for future use. + + FTS (flight termination system) pre-checking protocol trigger - - Arming parachute's auto-arming its automatic trigger system capability + + Auto-arming of parachute automatic trigger system (ATS). This allows a parachute to enable ATS after detecting that it has reached a desired altitude. - - Arming parachute's auto-disarming its automatic trigger system capability + + Auto-disarming of parachute automatic trigger system (ATS). This allows a parachute to disable ATS after detecting that it is below a desired altitude. - - Parachute module deployment flags (bitmap, 0 means no deployment) - - Parachute deployed by drone + + Parachute deployment trigger source + + None (not triggered) + + + Manual + + + Automatic trigger system (ATS) + + + Drone + + + MAVLink (offboard computer) + + + Geofence - - Parachute deployed by automatic trigger system + + FTS (flight termination system) pre-checking protocol - - Parachute deployed by manual trigger device + + + Parachute module safety-related flags. + + This is used to indicate that the parachute module has cleared a safe distance from the ground for deployment. - - Parachute deployed by onboard computer + + This is used to indicate that the parachute's own sensor has confirmed it is stably on the ground. - - Parachute deployed by geofence method + + This is used to indicate that the parachute module has downloaded geofence mission successfully and can be triggered by geofence source. @@ -5164,8 +5178,8 @@ There is an error with the parachute IMU - - There is an error with the parachute RF + + There is an error with the parachute RF (used for manual control) Parachute module has low power @@ -5173,36 +5187,54 @@ There is an error with the parachute and FC (flight controller) connection - - There is an error with the parachute pod - - + There is an error with the parachute electrical/external FTS (flight termination system) - - Parachute module charging failed + + There is an error with the parachute pod - - There is an error with the parachute module's logging + + Parachute electrical/external FTS (flight termination system) diagnosis failed - - This parachute module is retired (too many deployments) + + Parachute module charging failed - + There is an error with the parachute external power source - - There is an error with the parachute and OBC (onboard computer) connection + + There is an error with the parachute and GS (ground station) connection - + There is an error with the parachute GPS - - There is an error with the parachute and GS (ground station) connection - - + There is an error with the parachute and subsystem connection + + There is an error with the parachute subsystem firmware + + + Reserved for future use + + + Reserved for future use + + + There is an error with the parachute module's logging + + + This parachute module is retired (too many deployments) + + + There is an error with the parachute glow wire + + + There is an error with the parachute and offboard computer MAVLink connection + + + Parachute module IMU calibration failed + @@ -7777,9 +7809,9 @@ Parachute system status Uptime in ms Errors - Parachute arming status - Boolean indicating charging (1) or not (0) - Parachute deployment_status + Parachute arming status + Parachute deployment status + Parachute safety status Parachute Automatic Trigger System (ATS) auto-arming/disarming altitude in meters Parachute packed date (DD/MM/YYYY) in ASCII characters, 0 terminated. All 0: field not provided. From bb2e8389df35e62fe7d7f5f88d97876d24a8ea49 Mon Sep 17 00:00:00 2001 From: amy-chen-skydio <126200645+amy-chen-skydio@users.noreply.github.com> Date: Tue, 21 May 2024 19:17:39 -0700 Subject: [PATCH 7/9] Update message_definitions/v1.0/common.xml Update `MAV_CMD_SET_PARACHUTE_ARM` description Co-authored-by: Hamish Willee --- message_definitions/v1.0/common.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/message_definitions/v1.0/common.xml b/message_definitions/v1.0/common.xml index b398b4e8ac..09d417e7db 100644 --- a/message_definitions/v1.0/common.xml +++ b/message_definitions/v1.0/common.xml @@ -1874,7 +1874,7 @@ Empty - Command to arm/disarm parachute module + Command to arm/disarm parachute module trigger sources. Arm flags of parachute trigger sources Bitmask of arm flags (in param1) that should be modified From d1f8af8b7ab9ea0a475df0add45f36803e40be87 Mon Sep 17 00:00:00 2001 From: Amy Chen Date: Wed, 29 May 2024 11:25:24 -0700 Subject: [PATCH 8/9] Update common.xml Address PR feedback: - Updated `parachute_packed_date` date string to ISO 8601 format - Updated descriptions for cleaner phrasing --- message_definitions/v1.0/common.xml | 30 ++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/message_definitions/v1.0/common.xml b/message_definitions/v1.0/common.xml index 09d417e7db..0318fcdef1 100644 --- a/message_definitions/v1.0/common.xml +++ b/message_definitions/v1.0/common.xml @@ -5149,13 +5149,13 @@ Drone - MAVLink (offboard computer) + MAVLink, e.g. from an offboard computer Geofence - FTS (flight termination system) pre-checking protocol + Flight Termination System (FTS) pre-checking protocol @@ -5179,22 +5179,22 @@ There is an error with the parachute IMU - There is an error with the parachute RF (used for manual control) + There is an error with the parachute's RF that is used for manual control Parachute module has low power - There is an error with the parachute and FC (flight controller) connection + There is an error with the connection between parachute and flight controller (FC) - There is an error with the parachute electrical/external FTS (flight termination system) + There is an error with the connection between parachute and Electrical Flight Termination System (EFTS) There is an error with the parachute pod - Parachute electrical/external FTS (flight termination system) diagnosis failed + Parachute Electrical Flight Termination System (EFTS) diagnosis failed Parachute module charging failed @@ -5203,16 +5203,16 @@ There is an error with the parachute external power source - There is an error with the parachute and GS (ground station) connection + There is an error with the connection between parachute and Ground Station (GS) - There is an error with the parachute GPS + There is an error with the parachute's GPS - There is an error with the parachute and subsystem connection + There is an error with the connection between parachute and subsystem (e.g. remote controller, expansion board, etc.) - There is an error with the parachute subsystem firmware + There is an error with the parachute subsystem firmware (e.g. wrong firmware version) Reserved for future use @@ -5221,19 +5221,19 @@ Reserved for future use - There is an error with the parachute module's logging + There is an error with the parachute's internal logging system - This parachute module is retired (too many deployments) + This parachute module is retired (i.e. too many deployments) There is an error with the parachute glow wire - There is an error with the parachute and offboard computer MAVLink connection + There is an error with the MAVLink connection between parachute and offboard computer - Parachute module IMU calibration failed + Parachute's internal IMU calibration failed @@ -7813,7 +7813,7 @@ Parachute deployment status Parachute safety status Parachute Automatic Trigger System (ATS) auto-arming/disarming altitude in meters - Parachute packed date (DD/MM/YYYY) in ASCII characters, 0 terminated. All 0: field not provided. + Parachute packed date (YYYY-MM-DD) in ASCII characters, 0 terminated. All 0: field not provided. Illuminator status From 62f5a5a3f29fa266b0541483f4b16e1856c2be5e Mon Sep 17 00:00:00 2001 From: amy-chen-skydio <126200645+amy-chen-skydio@users.noreply.github.com> Date: Wed, 5 Jun 2024 13:33:50 -0700 Subject: [PATCH 9/9] Update message_definitions/v1.0/common.xml Update `PARACHUTE_DEPLOYMENT_TRIGGER_NONE` description Co-authored-by: Hamish Willee --- message_definitions/v1.0/common.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/message_definitions/v1.0/common.xml b/message_definitions/v1.0/common.xml index 0318fcdef1..280ace3d34 100644 --- a/message_definitions/v1.0/common.xml +++ b/message_definitions/v1.0/common.xml @@ -5137,7 +5137,7 @@ Parachute deployment trigger source - None (not triggered) + None (parachute has not deployed) Manual