ArduPilot / ArduPilot/ardupilot
Toggling safety switch state by MP can kill all motor outputs.
- Dominant language
- C++
- Stars
- 15.9k
- Forks
- 21.4k
- Avg merge
- 3d 17h
- Merged PRs (30d)
- 119
Description
How to reproduce the problem(Tested Copter v4.2):
1. Take off the aircraft.
2. Press "Ctrl+F" in MP.
3. Press the button "Toggle Saftey Switch".
4. The aircraft crashes.
If the physical safety switch is shorted during a flight, nothing bad will happen as long as the parameter BRD_SAFETYOPTION is set properly. However, using MP to toggle safety switch behaves differently. I think it is confusing and can be dangerous for someone who needs the function.
The safety switch should not be allowed to be activated in flight via mavlink commands.
**Platform**
[ ] All
[ ] AntennaTracker
[x] Copter
[ ] Plane
[ ] Rover
[ ] Submarine
Contributor guide
Research direction
Start by reproducing the issue on Copter v4.2 with Mission Planner: take off, open Ctrl+F, and use “Toggle Safety Switch.” Trace the MAVLink command handling for safety-switch state changes and compare it with the physical switch behavior when BRD_SAFETYOPTION is configured. Done means an in-flight MAVLink request cannot activate the safety switch or disable motor outputs.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- embedded-iot, robotics
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 38/100