mirror of
https://gitee.com/mirrors_PX4/PX4-Autopilot.git
synced 2026-06-28 05:20:35 +08:00
camera_trigger : reset distance counters to ensure consistent triggering after pausing/disabling
This commit is contained in:
committed by
Lorenz Meier
parent
0b93568aa3
commit
6a38118c73
@@ -581,15 +581,15 @@ CameraTrigger::cycle_trampoline(void *arg)
|
||||
|
||||
if (cmd.param1 > 0.0f) {
|
||||
trig->_distance = cmd.param1;
|
||||
//param_set(trig->_p_distance, &(trig->_distance));
|
||||
param_set(trig->_p_distance, &(trig->_distance));
|
||||
|
||||
trig->_trigger_enabled = true;
|
||||
trig->_trigger_paused = false;
|
||||
|
||||
} else if (commandParamToInt(param1) == 0) {
|
||||
} else if (commandParamToInt(cmd.param1) == 0) {
|
||||
trig->_trigger_paused = true;
|
||||
|
||||
} else if (commandParamToInt(param1) == -1) {
|
||||
} else if (commandParamToInt(cmd.param1) == -1) {
|
||||
trig->_trigger_enabled = false;
|
||||
}
|
||||
|
||||
@@ -664,6 +664,15 @@ CameraTrigger::cycle_trampoline(void *arg)
|
||||
hrt_call_after(&trig->_disengagecall, 0,
|
||||
(hrt_callout)&CameraTrigger::disengage, trig);
|
||||
|
||||
// reset distance counter if needed
|
||||
if (trig->_trigger_mode == TRIGGER_MODE_DISTANCE_ON_CMD ||
|
||||
trig->_trigger_mode == TRIGGER_MODE_DISTANCE_ALWAYS_ON) {
|
||||
|
||||
// this will force distance counter reinit on getting enabled/unpaused
|
||||
trig->_valid_position = false;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// only run on state changes, not every loop iteration
|
||||
|
||||
Reference in New Issue
Block a user