Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add additional support for parachute #2063

Open
wants to merge 9 commits into
base: master
Choose a base branch
from
144 changes: 144 additions & 0 deletions message_definitions/v1.0/common.xml
Original file line number Diff line number Diff line change
Expand Up @@ -1873,6 +1873,11 @@
<param index="6">Empty</param>
<param index="7">Empty</param>
</entry>
<entry value="225" name="MAV_CMD_SET_PARACHUTE_ARM" hasLocation="false" isDestination="false">
<description>Command to arm/disarm parachute module trigger sources.</description>
<param index="1" label="Arm Flags" enum="PARACHUTE_TRIGGER_FLAGS">Arm flags of parachute trigger sources</param>
<param index="2" label="Bitmask" enum="PARACHUTE_TRIGGER_FLAGS">Bitmask of arm flags (in param1) that should be modified</param>
</entry>
<entry value="240" name="MAV_CMD_DO_LAST" hasLocation="false" isDestination="false">
<description>NOP - This command is only used to mark the upper limit of the DO commands in the enumeration</description>
<param index="1">Empty</param>
Expand Down Expand Up @@ -5102,6 +5107,135 @@
<description>Illuminator thermistor failure.</description>
</entry>
</enum>
<enum name="PARACHUTE_TRIGGER_FLAGS" bitmask="true">
<description>Parachute trigger sources.</description>
<entry value="1" name="PARACHUTE_TRIGGER_FLAGS_MANUAL">
<description>Manual trigger (ground based control via parachute-specific RF channel)</description>
</entry>
<entry value="2" name="PARACHUTE_TRIGGER_FLAGS_ATS">
<description>Automatic trigger system (ATS)</description>
</entry>
<entry value="4" name="PARACHUTE_TRIGGER_FLAGS_FC">
<description>Flight controller trigger (e.g. MAVLink from FC, PWM, DroneCan, RC Control)</description>
</entry>
<entry value="8" name="PARACHUTE_TRIGGER_FLAGS_OFFBOARD">
<description>Offboard computer trigger (via MAVLink)</description>
</entry>
<entry value="16" name="PARACHUTE_TRIGGER_FLAGS_GEOFENCE">
<description>Geofence trigger (by parachute). Parachute uses MAVLink mission protocol to fetch geofence.</description>
</entry>
<entry value="32" name="PARACHUTE_TRIGGER_FLAGS_FTS_PRECHECKING">
<description>FTS (flight termination system) pre-checking protocol trigger</description>
</entry>
<entry value="64" name="PARACHUTE_TRIGGER_FLAGS_ATS_AUTO_ARM">
<description>Auto-arming of parachute automatic trigger system (ATS). This allows a parachute to enable ATS after detecting that it has reached a desired altitude.</description>
</entry>
<entry value="128" name="PARACHUTE_TRIGGER_FLAGS_ATS_AUTO_DISARM">
<description>Auto-disarming of parachute automatic trigger system (ATS). This allows a parachute to disable ATS after detecting that it is below a desired altitude.</description>
</entry>
</enum>
<enum name="PARACHUTE_DEPLOYMENT_TRIGGER">
<description>Parachute deployment trigger source</description>
<entry value="0" name="PARACHUTE_DEPLOYMENT_TRIGGER_NONE">
<description>None (parachute has not deployed)</description>
</entry>
<entry value="1" name="PARACHUTE_DEPLOYMENT_TRIGGER_MANUAL">
<description>Manual</description>
</entry>
<entry value="2" name="PARACHUTE_DEPLOYMENT_TRIGGER_ATS">
<description>Automatic trigger system (ATS)</description>
</entry>
<entry value="3" name="PARACHUTE_DEPLOYMENT_TRIGGER_DRONE">
<description>Drone</description>
</entry>
<entry value="4" name="PARACHUTE_DEPLOYMENT_TRIGGER_MAVLINK">
<description>MAVLink, e.g. from an offboard computer</description>
</entry>
<entry value="5" name="PARACHUTE_DEPLOYMENT_TRIGGER_GEOFENCE">
<description>Geofence</description>
</entry>
<entry value="6" name="PARACHUTE_DEPLOYMENT_TRIGGER_FTS_PRECHECKING">
<description>Flight Termination System (FTS) pre-checking protocol</description>
</entry>
</enum>
<enum name="PARACHUTE_SAFETY_FLAGS" bitmask="true">
<description>Parachute module safety-related flags.</description>
<entry value="1" name="PARACHUTE_SAFETY_FLAGS_GROUND_CLEARED">
<description>This is used to indicate that the parachute module has cleared a safe distance from the ground for deployment.</description>
</entry>
<entry value="2" name="PARACHUTE_SAFETY_FLAGS_ON_GROUND">
<description>This is used to indicate that the parachute's own sensor has confirmed it is stably on the ground.</description>
</entry>
<entry value="4" name="PARACHUTE_SAFETY_FLAGS_GEOFENCE_MISSION_SET">
<description>This is used to indicate that the parachute module has downloaded geofence mission successfully and can be triggered by geofence source.</description>
</entry>
</enum>
<enum name="PARACHUTE_ERROR_FLAGS" bitmask="true">
hamishwillee marked this conversation as resolved.
Show resolved Hide resolved
<description>Parachute module error flags (bitmap, 0 means no error)</description>
<entry value="1" name="PARACHUTE_ERROR_FLAGS_BAROMETER_ERROR">
<description>There is an error with the parachute barometer</description>
</entry>
<entry value="2" name="PARACHUTE_ERROR_FLAGS_IMU_ERROR">
<description>There is an error with the parachute IMU</description>
</entry>
<entry value="4" name="PARACHUTE_ERROR_FLAGS_RF_CONNECTION_ERROR">
<description>There is an error with the parachute's RF that is used for manual control</description>
</entry>
<entry value="8" name="PARACHUTE_ERROR_FLAGS_LOW_POWER">
<description>Parachute module has low power</description>
</entry>
<entry value="16" name="PARACHUTE_ERROR_FLAGS_FC_CONNECTION_ERROR">
<description>There is an error with the connection between parachute and flight controller (FC)</description>
</entry>
<entry value="32" name="PARACHUTE_ERROR_FLAGS_EFTS_CONNECTION_ERROR">
<description>There is an error with the connection between parachute and Electrical Flight Termination System (EFTS)</description>
</entry>
<entry value="64" name="PARACHUTE_ERROR_FLAGS_POD_CONNECTION_ERROR">
<description>There is an error with the parachute pod</description>
</entry>
<entry value="128" name="PARACHUTE_ERROR_FLAGS_EFTS_DIAGNOSE">
<description>Parachute Electrical Flight Termination System (EFTS) diagnosis failed</description>
</entry>
<entry value="256" name="PARACHUTE_ERROR_FLAGS_CHARGING_FAILED">
<description>Parachute module charging failed</description>
</entry>
<entry value="512" name="PARACHUTE_ERROR_FLAGS_EXTERNAL_POWER_ERROR">
<description>There is an error with the parachute external power source</description>
</entry>
<entry value="1024" name="PARACHUTE_ERROR_FLAGS_GS_CONNECTION_ERROR">
<description>There is an error with the connection between parachute and Ground Station (GS)</description>
</entry>
<entry value="2048" name="PARACHUTE_ERROR_FLAGS_GPS_ERROR">
<description>There is an error with the parachute's GPS</description>
</entry>
<entry value="4096" name="PARACHUTE_ERROR_FLAGS_SUBSYSTEM_CONNECTION_ERROR">
<description>There is an error with the connection between parachute and subsystem (e.g. remote controller, expansion board, etc.)</description>
</entry>
<entry value="8192" name="PARACHUTE_ERROR_FLAGS_SUBSYSTEM_FW_ERROR">
<description>There is an error with the parachute subsystem firmware (e.g. wrong firmware version)</description>
</entry>
<entry value="16384" name="PARACHUTE_ERROR_FLAGS_RESERVED_1">
<description>Reserved for future use</description>
</entry>
<entry value="32768" name="PARACHUTE_ERROR_FLAGS_RESERVED_2">
<description>Reserved for future use</description>
</entry>
<entry value="65536" name="PARACHUTE_ERROR_FLAGS_LOGGING_ERROR">
<description>There is an error with the parachute's internal logging system</description>
</entry>
<entry value="131072" name="PARACHUTE_ERROR_FLAGS_MODULE_RETIRED">
<description>This parachute module is retired (i.e. too many deployments)</description>
</entry>
<entry value="262144" name="PARACHUTE_ERROR_FLAGS_GLOW_WIRE_ERROR">
<description>There is an error with the parachute glow wire</description>
</entry>
<entry value="524288" name="PARACHUTE_ERROR_FLAGS_OFFBOARD_CONNECTION_ERROR">
<description>There is an error with the MAVLink connection between parachute and offboard computer</description>
</entry>
<entry value="1048576" name="PARACHUTE_ERROR_FLAGS_IMU_CALIBRATION_ERROR">
<description>Parachute's internal IMU calibration failed</description>
</entry>
</enum>
</enums>
<messages>
<message id="1" name="SYS_STATUS">
Expand Down Expand Up @@ -7671,6 +7805,16 @@
<field type="uint16_t" name="sequence_oldest_available">Oldest Sequence number that is still available after the sequence set in REQUEST_EVENT.</field>
<field type="uint8_t" name="reason" enum="MAV_EVENT_ERROR_REASON">Error reason.</field>
</message>
<message id="430" name="PARACHUTE_STATUS">
<description>Parachute system status</description>
<field type="uint32_t" name="time_boot_ms" units="ms">Uptime in ms</field>
<field type="uint32_t" name="error_status" enum="PARACHUTE_ERROR_FLAGS" display="bitmask">Errors</field>
<field type="uint8_t" name="arm_status" enum="PARACHUTE_TRIGGER_FLAGS" display="bitmask">Parachute arming status</field>
<field type="uint8_t" name="deployment_status" enum="PARACHUTE_DEPLOYMENT_TRIGGER">Parachute deployment status</field>
<field type="uint8_t" name="safety_status" enum="PARACHUTE_SAFETY_FLAGS" display="bitmask">Parachute safety status</field>
<field type="uint8_t" name="ats_arm_altitude" units="m">Parachute Automatic Trigger System (ATS) auto-arming/disarming altitude in meters</field>
<field type="char[11]" name="parachute_packed_date">Parachute packed date (YYYY-MM-DD) in ASCII characters, 0 terminated. All 0: field not provided.</field>
</message>
<message id="440" name="ILLUMINATOR_STATUS">
<description>Illuminator status</description>
<field type="uint32_t" name="uptime_ms" units="ms">Time since the start-up of the illuminator in ms</field>
Expand Down