-
Notifications
You must be signed in to change notification settings - Fork 13.6k
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 param COM_PREARM_MODE #12806
Add param COM_PREARM_MODE #12806
Changes from 4 commits
0b51053
755f764
f881c47
abef6bb
8f00a1d
7d37125
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -953,3 +953,17 @@ PARAM_DEFINE_INT32(COM_FLT_PROFILE, 0); | |
* @boolean | ||
*/ | ||
PARAM_DEFINE_INT32(COM_ARM_CHK_ESCS, 1); | ||
|
||
/** | ||
* Condition to enter prearmed mode | ||
* | ||
* Condition to enter the prearmed state, an intermediate state between disarmed and armed | ||
* in which non-throttling actuators are active. | ||
* | ||
* @value 0 Disabled | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. So would I be correct in saying
Does this require any docs/mention other than in the param? Frankly I don't understand what it is for, how you move to armed from this state, what an end user needs to do, or when they would set it. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. You are correct.
As usual: arm switch, or arm stick motion, or MAVLink command
Frankly I think some doc is needed here. From the user perspective, "prearmed" means "my ailerons move but my propellers do not spin". In the default case of a system with safety button (COM_PREARM_MODE=Safety button and CBRK_IO_SAFETY=0), the behaviour is
Now the non default cases:
COM_PREARM_MODE=Always:
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. And now for systems without safety button. COM_PREARM_MODE=Safety button and CBRK_IO_SAFETY is engaged:
COM_PREARM_MODE=Disabled and CBRK_IO_SAFETY is engaged: COM_PREARM_MODE=Always and CBRK_IO_SAFETY is engaged:
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Thank you! I have created PX4/PX4-user_guide#567 to track this. I won't have time for it this week - feel free to find a place where you think docs should go if you need it in earlier. |
||
* @value 1 Safety button | ||
* @value 2 Always | ||
* | ||
* @group Commander | ||
*/ | ||
PARAM_DEFINE_INT32(COM_PREARM_MODE, 1); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What is a non-throttling activator?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
A non throttling actuator is an actuator that does not drive a motor/engine. The underlying assumption is that throttling actuator is dangerous and should not move until the system is armed, while non-throttling actuators (ailerons, flaps, camera gimbal, etc) are safer and can move before the system is armed.
Right now, throttling actuator is defined here (NaN means the actuator will stay in disarmed position) https://github.com/PX4/Firmware/blob/a20b508d7e60a1332e3c9ff18d69df4d5e04eb5d/src/drivers/px4fmu/fmu.cpp#L1062-L1070. But I would not bother documenting that too precisely as this is likely to change when we introduce metadata at the mixer level to indicate which output is safe to prearm.