ArduPilot / ArduPilot/MissionPlanner
An idea of adding all-in-one Safety Status Display
- Dominant language
- C#
- Stars
- 2.4k
- Forks
- 2.9k
- Avg merge
- 19h 16m
- Merged PRs (30d)
- 4
Description
> Cloned from diydrones/ardupilot#2171
At present, the Pre-Arm safety check only return errors via text messages every 30 sec or arming. We could only receive one error every time.
I'd like to add a new mavlink message to represent the safety status in 1Hz, including all checks' results. Like this:
``` xml
For SAFETY_STATUS.
RC not calibrated
Baro not healthy
Alt disparity
Compass not healthy
Compass not calibrated
Compass offsets too high
Check mag field
compasses inconsistent
check fence
INS not calibrated
Accels not healthy
Accels inconsistent
Gyros not healthy
Gyro cal failed
Gyros inconsistent
Check Board Voltage
and more....
Add soon.
Add soon.
```
And in `static bool pre_arm_checks(bool display_failure)`, change them like this
``` cpp
pre_arm_rc_checks();
if(!ap.pre_arm_rc_check) {
// if (display_failure) {
// gcs_send_text_P(SEVERITY_HIGH,PSTR("PreArm: RC not calibrated"));
safetystatus += SAFETY_STATUS_FUNC.PREARM_STATUS_FUNC_RC;
}
// return false;
flag = false;
}
```
In MP, add a UserControl like this:

May it affect the performence, or have other bad effects?
Thanks.
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by tracing the `static bool pre_arm_checks(bool display_failure)` entry point and how Mission Planner renders the proposed UserControl. Review the requested SAFETY_STATUS message and all listed pre-arm checks before deciding the message and display boundaries. Done would require an agreed design for reporting all check results at 1Hz without adverse performance effects.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- csharp
- Domain
- desktop
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100