mirror of
https://github.com/PX4/PX4-Autopilot.git
synced 2026-08-01 12:18:31 +08:00
feat(crsf_rc): add CRSF receiver bind command (#26790)
* feat(crsf_rc): add CRSF receiver bind command Add ability to initiate CRSF receiver binding from QGroundControl or the NSH console. When MAV_CMD_START_RX_PAIR is received with RC_TYPE_CRSF, the driver sends the CRSF bind command frame over UART. Binding is rejected when armed or on singlewire configurations. Also adds RC_TYPE and RC_SUB_TYPE constants to VehicleCommand.msg and replaces magic numbers in DsmRc and RCInput drivers. Based on PX4/PX4-Autopilot#23294. * style(crsf_rc): use C++ style comment * style(crsf_rc): zero-init vcmd, remove noisy comments, drop unused enum value * fix(rc): check write return value in BindCRSF, guard Spektrum bind against invalid sub-type * fix(rc): warn and deny invalid Spektrum bind sub-type Previously, an unrecognized param2 sub-type would silently leave dsm_bind_pulses at 0 and return the generic UNSUPPORTED ACK. Add an explicit else-branch that logs a PX4_WARN and returns DENIED so users get clear feedback in QGC.
This commit is contained in:
@@ -191,6 +191,13 @@ uint8 ORBIT_YAW_BEHAVIOUR_HOLD_FRONT_TANGENT_TO_CIRCLE = 3
|
||||
uint8 ORBIT_YAW_BEHAVIOUR_RC_CONTROLLED = 4
|
||||
uint8 ORBIT_YAW_BEHAVIOUR_UNCHANGED = 5
|
||||
|
||||
# Used as param1&2 in CMD_START_RX_PAIR.
|
||||
uint8 RC_TYPE_SPEKTRUM = 0
|
||||
uint8 RC_TYPE_CRSF = 1
|
||||
uint8 RC_SUB_TYPE_SPEKTRUM_DSM2 = 0
|
||||
uint8 RC_SUB_TYPE_SPEKTRUM_DSMX = 1
|
||||
uint8 RC_SUB_TYPE_SPEKTRUM_DSMX8 = 2
|
||||
|
||||
# Used as param1 in ARM_DISARM command.
|
||||
int8 ARMING_ACTION_DISARM = 0
|
||||
int8 ARMING_ACTION_ARM = 1
|
||||
|
||||
Reference in New Issue
Block a user