Merge branch 'navigator_rewrite' into dataman_state_nav_rewrite

This commit is contained in:
Anton Babushkin
2014-06-13 15:11:06 +02:00
13 changed files with 58 additions and 57 deletions
+3 -3
View File
@@ -59,7 +59,7 @@ Loiter::Loiter(Navigator *navigator, const char *name) :
/* load initial params */
updateParams();
/* initial reset */
reset();
on_inactive();
}
Loiter::~Loiter()
@@ -67,14 +67,14 @@ Loiter::~Loiter()
}
bool
Loiter::update(struct position_setpoint_triplet_s *pos_sp_triplet)
Loiter::on_active(struct position_setpoint_triplet_s *pos_sp_triplet)
{
/* set loiter item, don't reuse an existing position setpoint */
return set_loiter_item(false, pos_sp_triplet);;
}
void
Loiter::reset()
Loiter::on_inactive()
{
}
+2 -2
View File
@@ -63,12 +63,12 @@ public:
/**
* This function is called while the mode is inactive
*/
bool update(struct position_setpoint_triplet_s *pos_sp_triplet);
virtual void on_inactive();
/**
* This function is called while the mode is active
*/
void reset();
virtual bool on_active(struct position_setpoint_triplet_s *pos_sp_triplet);
};
#endif
+3 -3
View File
@@ -72,7 +72,7 @@ Mission::Mission(Navigator *navigator, const char *name) :
/* load initial params */
updateParams();
/* set initial mission items */
reset();
on_inactive();
}
@@ -81,7 +81,7 @@ Mission::~Mission()
}
void
Mission::reset()
Mission::on_inactive()
{
_first_run = true;
@@ -100,7 +100,7 @@ Mission::reset()
}
bool
Mission::update(struct position_setpoint_triplet_s *pos_sp_triplet)
Mission::on_active(struct position_setpoint_triplet_s *pos_sp_triplet)
{
bool updated = false;
+2 -2
View File
@@ -78,12 +78,12 @@ public:
/**
* This function is called while the mode is inactive
*/
virtual void reset();
virtual void on_inactive();
/**
* This function is called while the mode is active
*/
virtual bool update(struct position_setpoint_triplet_s *pos_sp_triplet);
virtual bool on_active(struct position_setpoint_triplet_s *pos_sp_triplet);
private:
/**
+8 -8
View File
@@ -358,8 +358,8 @@ Navigator::task_main()
_navigation_mode = &_loiter;
break;
case NAVIGATION_STATE_AUTO_RTL:
case NAVIGATION_STATE_AUTO_RTL_RC:
case NAVIGATION_STATE_AUTO_RTL_DL:
case NAVIGATION_STATE_AUTO_FAILSAFE_RC_LOSS:
case NAVIGATION_STATE_AUTO_FAILSAFE_DL_LOSS:
_navigation_mode = &_rtl;
break;
case NAVIGATION_STATE_LAND:
@@ -372,21 +372,21 @@ Navigator::task_main()
/* TODO: make list of modes and loop through it */
if (_navigation_mode == &_mission) {
_update_triplet = _mission.update(&_pos_sp_triplet);
_update_triplet = _mission.on_active(&_pos_sp_triplet);
} else {
_mission.reset();
_mission.on_inactive();
}
if (_navigation_mode == &_rtl) {
_update_triplet = _rtl.update(&_pos_sp_triplet);
_update_triplet = _rtl.on_active(&_pos_sp_triplet);
} else {
_rtl.reset();
_rtl.on_inactive();
}
if (_navigation_mode == &_loiter) {
_update_triplet = _loiter.update(&_pos_sp_triplet);
_update_triplet = _loiter.on_active(&_pos_sp_triplet);
} else {
_loiter.reset();
_loiter.on_inactive();
}
/* if nothing is running, set position setpoint triplet invalid */
+3 -3
View File
@@ -48,7 +48,7 @@ NavigatorMode::NavigatorMode(Navigator *navigator, const char *name) :
/* load initial params */
updateParams();
/* set initial mission items */
reset();
on_inactive();
}
NavigatorMode::~NavigatorMode()
@@ -56,13 +56,13 @@ NavigatorMode::~NavigatorMode()
}
void
NavigatorMode::reset()
NavigatorMode::on_inactive()
{
_first_run = true;
}
bool
NavigatorMode::update(struct position_setpoint_triplet_s *pos_sp_triplet)
NavigatorMode::on_active(struct position_setpoint_triplet_s *pos_sp_triplet)
{
pos_sp_triplet->current.valid = false;
_first_run = false;
+2 -2
View File
@@ -68,7 +68,7 @@ public:
/**
* This function is called while the mode is inactive
*/
virtual void reset();
virtual void on_inactive();
/**
* This function is called while the mode is active
@@ -76,7 +76,7 @@ public:
* @param position setpoint triplet to set
* @return true if position setpoint triplet has been changed
*/
virtual bool update(struct position_setpoint_triplet_s *pos_sp_triplet);
virtual bool on_active(struct position_setpoint_triplet_s *pos_sp_triplet);
protected:
Navigator *_navigator;
+3 -3
View File
@@ -64,7 +64,7 @@ RTL::RTL(Navigator *navigator, const char *name) :
/* load initial params */
updateParams();
/* initial reset */
reset();
on_inactive();
}
RTL::~RTL()
@@ -72,14 +72,14 @@ RTL::~RTL()
}
void
RTL::reset()
RTL::on_inactive()
{
_first_run = true;
_rtl_state = RTL_STATE_NONE;
}
bool
RTL::update(struct position_setpoint_triplet_s *pos_sp_triplet)
RTL::on_active(struct position_setpoint_triplet_s *pos_sp_triplet)
{
bool updated = false;
+2 -2
View File
@@ -70,7 +70,7 @@ public:
/**
* This function is called while the mode is inactive
*/
void reset();
void on_inactive();
/**
* This function is called while the mode is active
@@ -78,7 +78,7 @@ public:
* @param position setpoint triplet that needs to be set
* @return true if updated
*/
bool update(position_setpoint_triplet_s *pos_sp_triplet);
bool on_active(position_setpoint_triplet_s *pos_sp_triplet);
private: