mirror of
https://gitee.com/mirrors_PX4/PX4-Autopilot.git
synced 2026-10-28 20:33:34 +08:00
Work queue in RGB driver without work_cancel()
This commit is contained in:
@@ -248,6 +248,11 @@ RGBLED::led_trampoline(void *arg)
|
|||||||
void
|
void
|
||||||
RGBLED::led()
|
RGBLED::led()
|
||||||
{
|
{
|
||||||
|
if (!_should_run) {
|
||||||
|
_running = false;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
switch (_mode) {
|
switch (_mode) {
|
||||||
case RGBLED_MODE_BLINK_SLOW:
|
case RGBLED_MODE_BLINK_SLOW:
|
||||||
case RGBLED_MODE_BLINK_NORMAL:
|
case RGBLED_MODE_BLINK_NORMAL:
|
||||||
@@ -471,11 +476,6 @@ RGBLED::set_mode(rgbled_mode_t mode)
|
|||||||
work_queue(LPWORK, &_work, (worker_t)&RGBLED::led_trampoline, this, 1);
|
work_queue(LPWORK, &_work, (worker_t)&RGBLED::led_trampoline, this, 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* if it should stop, then cancel the workq */
|
|
||||||
if (!should_run && _running) {
|
|
||||||
_running = false;
|
|
||||||
work_cancel(LPWORK, &_work);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user