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

This commit is contained in:
Lorenz Meier
2017-08-20 17:14:08 +02:00
parent 447c167d3e
commit 52ba62d6c4
2 changed files with 23 additions and 0 deletions
+22
View File
@@ -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
View File
@@ -72,6 +72,7 @@ public:
~Mission() override = default;
void on_inactive() override;
void on_inactivation() override;
void on_activation() override;
void on_active() override;