aboutsummaryrefslogtreecommitdiff
path: root/apps/controllib/fixedwing.cpp
diff options
context:
space:
mode:
authorJulian Oes <joes@student.ethz.ch>2013-02-16 13:40:09 -0800
committerJulian Oes <joes@student.ethz.ch>2013-02-16 13:40:09 -0800
commit0e2db0beb9228720a40bd19a7bd8891e5a8fdaba (patch)
treeff49a98efd4bf9540b287820fb6812c6adac3fe1 /apps/controllib/fixedwing.cpp
parent2d1009a89727582bc38093c67b930015cdbcc353 (diff)
downloadpx4-firmware-0e2db0beb9228720a40bd19a7bd8891e5a8fdaba.tar.gz
px4-firmware-0e2db0beb9228720a40bd19a7bd8891e5a8fdaba.tar.bz2
px4-firmware-0e2db0beb9228720a40bd19a7bd8891e5a8fdaba.zip
Checkpoint: implement new state machine, compiling, WIP
Diffstat (limited to 'apps/controllib/fixedwing.cpp')
-rw-r--r--apps/controllib/fixedwing.cpp33
1 files changed, 17 insertions, 16 deletions
diff --git a/apps/controllib/fixedwing.cpp b/apps/controllib/fixedwing.cpp
index d9637b4a7..9a6919535 100644
--- a/apps/controllib/fixedwing.cpp
+++ b/apps/controllib/fixedwing.cpp
@@ -39,6 +39,7 @@
#include "fixedwing.hpp"
+
namespace control
{
@@ -294,7 +295,7 @@ void BlockMultiModeBacksideAutopilot::update()
_actuators.control[i] = 0.0f;
// only update guidance in auto mode
- if (_status.state_machine == SYSTEM_STATE_AUTO) {
+ if (_status.navigation_state == NAVIGATION_STATE_MISSION) {
// update guidance
_guide.update(_pos, _att, _posCmd, _lastPosCmd);
}
@@ -304,8 +305,8 @@ void BlockMultiModeBacksideAutopilot::update()
// the setpoint should update to loitering around this position
// handle autopilot modes
- if (_status.state_machine == SYSTEM_STATE_AUTO ||
- _status.state_machine == SYSTEM_STATE_STABILIZED) {
+ if (_status.navigation_state == NAVIGATION_STATE_MISSION ||
+ _status.navigation_state == NAVIGATION_STATE_MANUAL) {
// update guidance
_guide.update(_pos, _att, _posCmd, _lastPosCmd);
@@ -340,25 +341,25 @@ void BlockMultiModeBacksideAutopilot::update()
}
- } else if (_status.state_machine == SYSTEM_STATE_MANUAL) {
-
- if (_status.manual_control_mode == VEHICLE_MANUAL_CONTROL_MODE_DIRECT) {
+ } else if (_status.navigation_state == NAVIGATION_STATE_MANUAL) {
+// if (_status.manual_control_mode == VEHICLE_MANUAL_CONTROL_MODE_DIRECT) {
+#warning fix the different manual modes
_actuators.control[CH_AIL] = _manual.roll;
_actuators.control[CH_ELV] = _manual.pitch;
_actuators.control[CH_RDR] = _manual.yaw;
_actuators.control[CH_THR] = _manual.throttle;
- } else if (_status.manual_control_mode == VEHICLE_MANUAL_CONTROL_MODE_SAS) {
-
- _stabilization.update(_manual.roll, _manual.pitch, _manual.yaw,
- _att.rollspeed, _att.pitchspeed, _att.yawspeed);
-
- _actuators.control[CH_AIL] = _stabilization.getAileron();
- _actuators.control[CH_ELV] = - _stabilization.getElevator();
- _actuators.control[CH_RDR] = _stabilization.getRudder();
- _actuators.control[CH_THR] = _manual.throttle;
- }
+// } else if (_status.manual_control_mode == VEHICLE_MANUAL_CONTROL_MODE_SAS) {
+//
+// _stabilization.update(_manual.roll, _manual.pitch, _manual.yaw,
+// _att.rollspeed, _att.pitchspeed, _att.yawspeed);
+//
+// _actuators.control[CH_AIL] = _stabilization.getAileron();
+// _actuators.control[CH_ELV] = - _stabilization.getElevator();
+// _actuators.control[CH_RDR] = _stabilization.getRudder();
+// _actuators.control[CH_THR] = _manual.throttle;
+// }
}
// update all publications