aboutsummaryrefslogtreecommitdiff
path: root/src/modules/segway
diff options
context:
space:
mode:
authorJames Goppert <james.goppert@gmail.com>2013-10-22 05:43:10 -0400
committerJames Goppert <james.goppert@gmail.com>2013-10-22 05:43:10 -0400
commitd143e827dcd774548bca6d6b4cb6fb69ef35a826 (patch)
tree58672449587efcba18dfc399a67bed888fb372ca /src/modules/segway
parent108d723a4902086f883136c7de6a75d65256500b (diff)
downloadpx4-firmware-d143e827dcd774548bca6d6b4cb6fb69ef35a826.tar.gz
px4-firmware-d143e827dcd774548bca6d6b4cb6fb69ef35a826.tar.bz2
px4-firmware-d143e827dcd774548bca6d6b4cb6fb69ef35a826.zip
Updated segway controller for new state machine.
Diffstat (limited to 'src/modules/segway')
-rw-r--r--src/modules/segway/BlockSegwayController.cpp13
1 files changed, 7 insertions, 6 deletions
diff --git a/src/modules/segway/BlockSegwayController.cpp b/src/modules/segway/BlockSegwayController.cpp
index b1dc39445..96a443c6e 100644
--- a/src/modules/segway/BlockSegwayController.cpp
+++ b/src/modules/segway/BlockSegwayController.cpp
@@ -26,7 +26,7 @@ void BlockSegwayController::update() {
_actuators.control[i] = 0.0f;
// only update guidance in auto mode
- if (_status.state_machine == SYSTEM_STATE_AUTO) {
+ if (_status.main_state == MAIN_STATE_AUTO) {
// update guidance
}
@@ -34,17 +34,18 @@ void BlockSegwayController::update() {
float spdCmd = -th2v.update(_att.pitch) - q2v.update(_att.pitchspeed);
// handle autopilot modes
- if (_status.state_machine == SYSTEM_STATE_AUTO ||
- _status.state_machine == SYSTEM_STATE_STABILIZED) {
+ if (_status.main_state == MAIN_STATE_AUTO ||
+ _status.main_state == MAIN_STATE_SEATBELT ||
+ _status.main_state == MAIN_STATE_EASY) {
_actuators.control[0] = spdCmd;
_actuators.control[1] = spdCmd;
- } else if (_status.state_machine == SYSTEM_STATE_MANUAL) {
- if (_status.manual_control_mode == VEHICLE_MANUAL_CONTROL_MODE_DIRECT) {
+ } else if (_status.main_state == MAIN_STATE_MANUAL) {
+ if (_status.navigation_state == NAVIGATION_STATE_DIRECT) {
_actuators.control[CH_LEFT] = _manual.throttle;
_actuators.control[CH_RIGHT] = _manual.pitch;
- } else if (_status.manual_control_mode == VEHICLE_MANUAL_CONTROL_MODE_SAS) {
+ } else if (_status.navigation_state == NAVIGATION_STATE_STABILIZE) {
_actuators.control[0] = spdCmd;
_actuators.control[1] = spdCmd;
}