FlightTasks: added handling for switching to the already active task and success feedback

removed and added comments
This commit is contained in:
Matthias Grob
2018-04-05 07:30:12 +02:00
committed by Beat Küng
parent 018581faca
commit 6c0e7654ed
3 changed files with 14 additions and 10 deletions
+11 -4
View File
@@ -93,6 +93,7 @@ public:
/**
* Switch to the next task in the available list (for testing)
* @return 0 on success, >0 on error
*/
void switch_task()
{
@@ -102,9 +103,14 @@ public:
/**
* Switch to a specific task (for normal usage)
* @param task number to switch to
* @return 0 on success, >0 on error
*/
void switch_task(int task_number)
int switch_task(int task_number)
{
if (task_number == _current_task) {
return 0;
}
if (is_any_task_active()) {
_tasks[_current_task]->disable();
}
@@ -113,10 +119,11 @@ public:
if (is_any_task_active()) {
_tasks[_current_task]->activate();
} else {
_current_task = -1;
return 0;
}
_current_task = -1;
return 1;
};
/**
+2 -2
View File
@@ -111,8 +111,8 @@ protected:
/* Prepared general inputs for every task */
matrix::Vector<float, 4> _sticks;
matrix::Vector3f _position;
matrix::Vector3f _velocity;
matrix::Vector3f _position; /*< current vehicle position */
matrix::Vector3f _velocity; /*< current vehicle velocity */
float _yaw;
/**
@@ -114,8 +114,6 @@ public:
velocity_setpoint = velocity_setpoint.emult(vel_scale);
_set_velocity_setpoint(velocity_setpoint);
//printf("------");
//velocity_setpoint.print();
/* handle position and altitude hold */
const bool stick_xy_zero = stick_xy_norm <= FLT_EPSILON;
@@ -142,7 +140,6 @@ public:
}
_set_position_setpoint(_hold_position);
//_hold_position.print();
return 0;
};
@@ -164,5 +161,5 @@ private:
uORB::Subscription<control_state_s> _sub_control_state;
matrix::Vector3f _hold_position;
matrix::Vector3f _hold_position; /**< position at which the vehicle stays while the input is zero velocity */
};