FlightTaskManual/Orbit: make sure we are not required stick input data during orbit

This commit is contained in:
Matthias Grob 2017-11-29 15:42:04 +01:00 committed by Beat Küng
parent e5d237088c
commit 6ec9ff64d1
3 changed files with 12 additions and 2 deletions

View File

@ -90,7 +90,14 @@ bool FlightTaskManual::initializeSubscriptions(SubscriptionArray &subscription_a
bool FlightTaskManual::updateInitialize()
{
return FlightTask::updateInitialize() && _evaluateSticks();
bool ret = FlightTask::updateInitialize();
const bool sticks_available = _evaluateSticks();
if (_sticks_data_required) {
ret = ret && sticks_available;
}
return ret;
}
bool FlightTaskManual::update()

View File

@ -63,6 +63,7 @@ public:
protected:
matrix::Vector<float, 4> _sticks;
bool _evaluateSticks();
bool _sticks_data_required = true; /**< let sibling task define if it depends on stick data */
float get_input_frame_yaw() { return _yaw; }

View File

@ -47,7 +47,9 @@ using namespace matrix;
FlightTaskOrbit::FlightTaskOrbit(control::SuperBlock *parent, const char *name) :
FlightTaskManual(parent, name)
{}
{
_sticks_data_required = false;
}
bool FlightTaskOrbit::activate()
{