aboutsummaryrefslogtreecommitdiff
path: root/src/modules/sensors
diff options
context:
space:
mode:
authorAnton Babushkin <anton.babushkin@me.com>2013-07-22 22:37:10 +0400
committerAnton Babushkin <anton.babushkin@me.com>2013-07-22 22:37:10 +0400
commit55fd19f2813110d14d536943503851255c997b6f (patch)
tree7ec0f93f19b5f598e71995e23175b5a002ef2fe3 /src/modules/sensors
parent963abd66badf71a925f80e12312c429d64999424 (diff)
downloadpx4-firmware-55fd19f2813110d14d536943503851255c997b6f.tar.gz
px4-firmware-55fd19f2813110d14d536943503851255c997b6f.tar.bz2
px4-firmware-55fd19f2813110d14d536943503851255c997b6f.zip
sensors: ASSISTED switch channel added
Diffstat (limited to 'src/modules/sensors')
-rw-r--r--src/modules/sensors/sensor_params.c1
-rw-r--r--src/modules/sensors/sensors.cpp14
2 files changed, 14 insertions, 1 deletions
diff --git a/src/modules/sensors/sensor_params.c b/src/modules/sensors/sensor_params.c
index 3ed9efc8b..d0af9e17b 100644
--- a/src/modules/sensors/sensor_params.c
+++ b/src/modules/sensors/sensor_params.c
@@ -167,6 +167,7 @@ PARAM_DEFINE_INT32(RC_MAP_YAW, 4);
PARAM_DEFINE_INT32(RC_MAP_MODE_SW, 5);
PARAM_DEFINE_INT32(RC_MAP_RETURN_SW, 6);
+PARAM_DEFINE_INT32(RC_MAP_ASSIST_SW, 0);
PARAM_DEFINE_INT32(RC_MAP_MISSIO_SW, 0);
//PARAM_DEFINE_INT32(RC_MAP_OFFB_SW, 0);
diff --git a/src/modules/sensors/sensors.cpp b/src/modules/sensors/sensors.cpp
index 89d5cd374..b38dc8d89 100644
--- a/src/modules/sensors/sensors.cpp
+++ b/src/modules/sensors/sensors.cpp
@@ -208,6 +208,7 @@ private:
int rc_map_mode_sw;
int rc_map_return_sw;
+ int rc_map_assisted_sw;
int rc_map_mission_sw;
// int rc_map_offboard_ctrl_mode_sw;
@@ -256,6 +257,7 @@ private:
param_t rc_map_mode_sw;
param_t rc_map_return_sw;
+ param_t rc_map_assisted_sw;
param_t rc_map_mission_sw;
// param_t rc_map_offboard_ctrl_mode_sw;
@@ -464,6 +466,7 @@ Sensors::Sensors() :
_parameter_handles.rc_map_flaps = param_find("RC_MAP_FLAPS");
/* optional mode switches, not mapped per default */
+ _parameter_handles.rc_map_assisted_sw = param_find("RC_MAP_ASSIST_SW");
_parameter_handles.rc_map_mission_sw = param_find("RC_MAP_MISSIO_SW");
// _parameter_handles.rc_map_offboard_ctrl_mode_sw = param_find("RC_MAP_OFFB_SW");
@@ -617,6 +620,10 @@ Sensors::parameters_update()
warnx("Failed getting return sw chan index");
}
+ if (param_get(_parameter_handles.rc_map_assisted_sw, &(_parameters.rc_map_assisted_sw)) != OK) {
+ warnx("Failed getting assisted sw chan index");
+ }
+
if (param_get(_parameter_handles.rc_map_mission_sw, &(_parameters.rc_map_mission_sw)) != OK) {
warnx("Failed getting mission sw chan index");
}
@@ -673,6 +680,7 @@ Sensors::parameters_update()
_rc.function[MODE] = _parameters.rc_map_mode_sw - 1;
_rc.function[RETURN] = _parameters.rc_map_return_sw - 1;
+ _rc.function[ASSISTED] = _parameters.rc_map_assisted_sw - 1;
_rc.function[MISSION] = _parameters.rc_map_mission_sw - 1;
_rc.function[FLAPS] = _parameters.rc_map_flaps - 1;
@@ -1142,6 +1150,7 @@ Sensors::ppm_poll()
manual_control.mode_switch = NAN;
manual_control.return_switch = NAN;
+ manual_control.assisted_switch = NAN;
manual_control.mission_switch = NAN;
// manual_control.auto_offboard_input_switch = NAN;
@@ -1249,7 +1258,10 @@ Sensors::ppm_poll()
/* land switch input */
manual_control.return_switch = limit_minus_one_to_one(_rc.chan[_rc.function[RETURN]].scaled);
- /* land switch input */
+ /* assisted switch input */
+ manual_control.assisted_switch = limit_minus_one_to_one(_rc.chan[_rc.function[ASSISTED]].scaled);
+
+ /* mission switch input */
manual_control.mission_switch = limit_minus_one_to_one(_rc.chan[_rc.function[MISSION]].scaled);
/* flaps */