AP_HAL_AVR: add panic method to scheduler
This commit is contained in:
parent
c86004d676
commit
9656b0ad0e
@ -210,6 +210,17 @@ void AVRScheduler::end_atomic() {
|
||||
}
|
||||
}
|
||||
|
||||
void AVRScheduler::panic(const prog_char_t* errormsg) {
|
||||
/* Suspend timer processes. We still want the timer event to go off
|
||||
* to run the _failsafe code, however. */
|
||||
_timer_suspended = true;
|
||||
/* Print the error message on both ports */
|
||||
hal.uartA->println_P(errormsg);
|
||||
hal.uartC->println_P(errormsg);
|
||||
/* Spin forever. */
|
||||
for(;;);
|
||||
}
|
||||
|
||||
void AVRScheduler::reboot() {
|
||||
hal.uartA->println_P(PSTR("GOING DOWN FOR A REBOOT\r\n"));
|
||||
hal.scheduler->delay(100);
|
||||
|
@ -37,6 +37,7 @@ public:
|
||||
void resume_timer_procs();
|
||||
void begin_atomic();
|
||||
void end_atomic();
|
||||
void panic(const prog_char_t *errormsg);
|
||||
void reboot();
|
||||
|
||||
private:
|
||||
|
Loading…
Reference in New Issue
Block a user