Browse Source

Navigator: Pause and unpause camera triggering on entering and exiting a mission

sbg
Lorenz Meier 8 years ago
parent
commit
52ba62d6c4
  1. 22
      src/modules/navigator/mission.cpp
  2. 1
      src/modules/navigator/mission.h

22
src/modules/navigator/mission.cpp

@ -141,10 +141,32 @@ Mission::on_inactive() @@ -141,10 +141,32 @@ Mission::on_inactive()
_work_item_type = WORK_ITEM_TYPE_DEFAULT;
}
void
Mission::on_inactivation()
{
// Disable camera trigger
vehicle_command_s cmd{};
cmd.command = vehicle_command_s::VEHICLE_CMD_DO_TRIGGER_CONTROL;
// Pause trigger
cmd.param1 = -1.0f;
cmd.param3 = 1.0f;
cmd.timestamp = hrt_absolute_time();
_navigator->publish_vehicle_cmd(cmd);
}
void
Mission::on_activation()
{
set_mission_items();
// unpause triggering if it was paused
vehicle_command_s cmd{};
cmd.command = vehicle_command_s::VEHICLE_CMD_DO_TRIGGER_CONTROL;
// unpause trigger
cmd.param1 = -1.0f;
cmd.param3 = 0.0f;
cmd.timestamp = hrt_absolute_time();
_navigator->publish_vehicle_cmd(cmd);
}
void

1
src/modules/navigator/mission.h

@ -72,6 +72,7 @@ public: @@ -72,6 +72,7 @@ public:
~Mission() override = default;
void on_inactive() override;
void on_inactivation() override;
void on_activation() override;
void on_active() override;

Loading…
Cancel
Save