Skip to content

Commit

Permalink
AP_HAL: Scheduler: Add late_reboot
Browse files Browse the repository at this point in the history
Signed-off-by: Patrick José Pereira <patrickelectric@gmail.com>
  • Loading branch information
patrickelectric committed Mar 20, 2024
1 parent 63c1e3c commit 924dff8
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 0 deletions.
10 changes: 10 additions & 0 deletions libraries/AP_HAL/Scheduler.cpp
Expand Up @@ -6,6 +6,16 @@ using namespace AP_HAL;

extern const AP_HAL::HAL& hal;


void Scheduler::late_reboot() {
hal.scheduler->thread_create(FUNCTOR_BIND_MEMBER(&Scheduler::do_late_reboot, void) , "scheduler", 2048, AP_HAL::Scheduler::PRIORITY_MAIN, 0);
}

void Scheduler::do_late_reboot() {
hal.scheduler->delay(1000);
hal.scheduler->reboot();
}

void Scheduler::register_delay_callback(AP_HAL::Proc proc,
uint16_t min_time_ms)
{
Expand Down
2 changes: 2 additions & 0 deletions libraries/AP_HAL/Scheduler.h
Expand Up @@ -71,6 +71,8 @@ class AP_HAL::Scheduler {
virtual bool is_system_initialized() = 0;

virtual void reboot(bool hold_in_bootloader = false) = 0;
void late_reboot();
void do_late_reboot();

/**
optional function to stop clock at a given time, used by log replay
Expand Down

0 comments on commit 924dff8

Please sign in to comment.