mirror of
https://gitee.com/mirrors_PX4/PX4-Autopilot.git
synced 2026-07-16 15:30:34 +08:00
@@ -101,6 +101,7 @@ void initialize_parameter_handles(ParameterHandles ¶meter_handles)
|
||||
parameter_handles.rc_map_aux3 = param_find("RC_MAP_AUX3");
|
||||
parameter_handles.rc_map_aux4 = param_find("RC_MAP_AUX4");
|
||||
parameter_handles.rc_map_aux5 = param_find("RC_MAP_AUX5");
|
||||
parameter_handles.rc_map_aux6 = param_find("RC_MAP_AUX6");
|
||||
|
||||
/* RC to parameter mapping for changing parameters with RC */
|
||||
for (int i = 0; i < rc_parameter_map_s::RC_PARAM_MAP_NCHAN; i++) {
|
||||
@@ -314,6 +315,7 @@ int update_parameters(const ParameterHandles ¶meter_handles, Parameters &par
|
||||
param_get(parameter_handles.rc_map_aux3, &(parameters.rc_map_aux3));
|
||||
param_get(parameter_handles.rc_map_aux4, &(parameters.rc_map_aux4));
|
||||
param_get(parameter_handles.rc_map_aux5, &(parameters.rc_map_aux5));
|
||||
param_get(parameter_handles.rc_map_aux6, &(parameters.rc_map_aux6));
|
||||
|
||||
for (int i = 0; i < rc_parameter_map_s::RC_PARAM_MAP_NCHAN; i++) {
|
||||
param_get(parameter_handles.rc_map_param[i], &(parameters.rc_map_param[i]));
|
||||
|
||||
@@ -98,6 +98,7 @@ struct Parameters {
|
||||
int32_t rc_map_aux3;
|
||||
int32_t rc_map_aux4;
|
||||
int32_t rc_map_aux5;
|
||||
int32_t rc_map_aux6;
|
||||
|
||||
int32_t rc_map_param[rc_parameter_map_s::RC_PARAM_MAP_NCHAN];
|
||||
|
||||
@@ -190,6 +191,7 @@ struct ParameterHandles {
|
||||
param_t rc_map_aux3;
|
||||
param_t rc_map_aux4;
|
||||
param_t rc_map_aux5;
|
||||
param_t rc_map_aux6;
|
||||
|
||||
param_t rc_map_param[rc_parameter_map_s::RC_PARAM_MAP_NCHAN];
|
||||
param_t rc_param[rc_parameter_map_s::RC_PARAM_MAP_NCHAN]; /**< param handles for the parameters which are bound
|
||||
|
||||
@@ -1872,6 +1872,33 @@ PARAM_DEFINE_INT32(RC_MAP_AUX4, 0);
|
||||
*/
|
||||
PARAM_DEFINE_INT32(RC_MAP_AUX5, 0);
|
||||
|
||||
/**
|
||||
* AUX6 Passthrough RC channel
|
||||
*
|
||||
* @min 0
|
||||
* @max 18
|
||||
* @group Radio Calibration
|
||||
* @value 0 Unassigned
|
||||
* @value 1 Channel 1
|
||||
* @value 2 Channel 2
|
||||
* @value 3 Channel 3
|
||||
* @value 4 Channel 4
|
||||
* @value 5 Channel 5
|
||||
* @value 6 Channel 6
|
||||
* @value 7 Channel 7
|
||||
* @value 8 Channel 8
|
||||
* @value 9 Channel 9
|
||||
* @value 10 Channel 10
|
||||
* @value 11 Channel 11
|
||||
* @value 12 Channel 12
|
||||
* @value 13 Channel 13
|
||||
* @value 14 Channel 14
|
||||
* @value 15 Channel 15
|
||||
* @value 16 Channel 16
|
||||
* @value 17 Channel 17
|
||||
* @value 18 Channel 18
|
||||
*/
|
||||
PARAM_DEFINE_INT32(RC_MAP_AUX6, 0);
|
||||
/**
|
||||
* PARAM1 tuning channel
|
||||
*
|
||||
|
||||
@@ -114,6 +114,7 @@ void RCUpdate::update_rc_functions()
|
||||
_rc.function[rc_channels_s::RC_CHANNELS_FUNCTION_AUX_3] = _parameters.rc_map_aux3 - 1;
|
||||
_rc.function[rc_channels_s::RC_CHANNELS_FUNCTION_AUX_4] = _parameters.rc_map_aux4 - 1;
|
||||
_rc.function[rc_channels_s::RC_CHANNELS_FUNCTION_AUX_5] = _parameters.rc_map_aux5 - 1;
|
||||
_rc.function[rc_channels_s::RC_CHANNELS_FUNCTION_AUX_6] = _parameters.rc_map_aux6 - 1;
|
||||
|
||||
for (int i = 0; i < rc_parameter_map_s::RC_PARAM_MAP_NCHAN; i++) {
|
||||
_rc.function[rc_channels_s::RC_CHANNELS_FUNCTION_PARAM_1 + i] = _parameters.rc_map_param[i] - 1;
|
||||
@@ -379,6 +380,7 @@ RCUpdate::rc_poll(const ParameterHandles ¶meter_handles)
|
||||
manual.aux3 = get_rc_value(rc_channels_s::RC_CHANNELS_FUNCTION_AUX_3, -1.0, 1.0);
|
||||
manual.aux4 = get_rc_value(rc_channels_s::RC_CHANNELS_FUNCTION_AUX_4, -1.0, 1.0);
|
||||
manual.aux5 = get_rc_value(rc_channels_s::RC_CHANNELS_FUNCTION_AUX_5, -1.0, 1.0);
|
||||
manual.aux6 = get_rc_value(rc_channels_s::RC_CHANNELS_FUNCTION_AUX_6, -1.0, 1.0);
|
||||
|
||||
/* filter controls */
|
||||
manual.y = math::constrain(_filter_roll.apply(manual.y), -1.f, 1.f);
|
||||
|
||||
@@ -166,6 +166,9 @@ float InputRC::_get_aux_value(const manual_control_setpoint_s &manual_control_se
|
||||
case 5:
|
||||
return manual_control_setpoint.aux5;
|
||||
|
||||
case 6:
|
||||
return manual_control_setpoint.aux6;
|
||||
|
||||
default:
|
||||
return 0.0f;
|
||||
}
|
||||
|
||||
@@ -121,6 +121,7 @@ PARAM_DEFINE_FLOAT(MNT_OB_LOCK_MODE, 0.0f);
|
||||
* @value 3 AUX3
|
||||
* @value 4 AUX4
|
||||
* @value 5 AUX5
|
||||
* @value 6 AUX6
|
||||
* @min 0
|
||||
* @max 5
|
||||
* @group Mount
|
||||
@@ -136,6 +137,7 @@ PARAM_DEFINE_INT32(MNT_MAN_ROLL, 0);
|
||||
* @value 3 AUX3
|
||||
* @value 4 AUX4
|
||||
* @value 5 AUX5
|
||||
* @value 6 AUX6
|
||||
* @min 0
|
||||
* @max 5
|
||||
* @group Mount
|
||||
@@ -151,6 +153,7 @@ PARAM_DEFINE_INT32(MNT_MAN_PITCH, 0);
|
||||
* @value 3 AUX3
|
||||
* @value 4 AUX4
|
||||
* @value 5 AUX5
|
||||
* @value 6 AUX6
|
||||
* @min 0
|
||||
* @max 5
|
||||
* @group Mount
|
||||
|
||||
Reference in New Issue
Block a user