Browse Source

camera trigger: don't keep triggering while enabled but paused

release/1.12
Sander Swart 4 years ago committed by GitHub
parent
commit
aa60d76963
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 15
      src/drivers/camera_trigger/camera_trigger.cpp

15
src/drivers/camera_trigger/camera_trigger.cpp

@ -520,8 +520,8 @@ CameraTrigger::Run() @@ -520,8 +520,8 @@ CameraTrigger::Run()
_turning_on = false;
// these flags are used to detect state changes in the command loop
bool main_state = _trigger_enabled;
bool pause_state = _trigger_paused;
bool previous_trigger_state = _trigger_enabled;
bool previous_trigger_paused = _trigger_paused;
bool updated = _command_sub.update(&cmd);
@ -694,8 +694,8 @@ CameraTrigger::Run() @@ -694,8 +694,8 @@ CameraTrigger::Run()
unknown_cmd:
// State change handling
if ((main_state != _trigger_enabled) ||
(pause_state != _trigger_paused) ||
if ((previous_trigger_state != _trigger_enabled) ||
(previous_trigger_paused != _trigger_paused) ||
_one_shot) {
if (_trigger_enabled || _one_shot) { // Just got enabled via a command
@ -711,8 +711,9 @@ unknown_cmd: @@ -711,8 +711,9 @@ unknown_cmd:
poll_interval_usec = 3000000;
_turning_on = true;
}
}
} else if (!_trigger_enabled || _trigger_paused) { // Just got disabled/paused via a command
if ((!_trigger_enabled || _trigger_paused) && !_one_shot) { // Just got disabled/paused via a command
// Power off the camera if we are disabled
if (_camera_interface->is_powered_on() &&
@ -896,8 +897,8 @@ CameraTrigger::keep_alive_down(void *arg) @@ -896,8 +897,8 @@ CameraTrigger::keep_alive_down(void *arg)
void
CameraTrigger::status()
{
PX4_INFO("main state : %s", _trigger_enabled ? "enabled" : "disabled");
PX4_INFO("pause state : %s", _trigger_paused ? "paused" : "active");
PX4_INFO("trigger enabled : %s", _trigger_enabled ? "enabled" : "disabled");
PX4_INFO("trigger paused : %s", _trigger_paused ? "paused" : "active");
PX4_INFO("mode : %d", static_cast<int>(_trigger_mode));
if (_trigger_mode == TRIGGER_MODE_INTERVAL_ALWAYS_ON ||

Loading…
Cancel
Save