58 lines
973 B
C
58 lines
973 B
C
#ifndef __PANIC_H_INC
|
|
#define __PANIC_H_INC
|
|
|
|
#pragma GCC push_options
|
|
#pragma GCC optimize("-Os")
|
|
|
|
#ifdef _ACF_ACTIVITY_BLINK
|
|
bool ledhi;
|
|
void blink() {
|
|
ledhi = !ledhi;
|
|
if(ledhi) {
|
|
digitalWrite(LED_BUILTIN, HIGH);
|
|
} else {
|
|
digitalWrite(LED_BUILTIN, LOW);
|
|
}
|
|
}
|
|
#else
|
|
void blink() {}
|
|
#endif
|
|
|
|
|
|
#ifdef _ACF_PANIC_BLINK
|
|
void sos() {
|
|
while(true) {
|
|
digitalWrite(LED_BUILTIN, HIGH);
|
|
delay(500);
|
|
digitalWrite(LED_BUILTIN, LOW);
|
|
delay(200);
|
|
digitalWrite(LED_BUILTIN, HIGH);
|
|
delay(150);
|
|
digitalWrite(LED_BUILTIN, LOW);
|
|
delay(150);
|
|
digitalWrite(LED_BUILTIN, HIGH);
|
|
delay(150);
|
|
digitalWrite(LED_BUILTIN, LOW);
|
|
delay(150);
|
|
digitalWrite(LED_BUILTIN, HIGH);
|
|
delay(150);
|
|
digitalWrite(LED_BUILTIN, LOW);
|
|
delay(150);
|
|
delay(2000);
|
|
}
|
|
}
|
|
#endif
|
|
|
|
void panic(const __FlashStringHelper* message) {
|
|
Serial.println(F("PANIC!"));
|
|
Serial.println(message);
|
|
|
|
#ifdef _ACF_PANIC_BLINK
|
|
sos();
|
|
#endif
|
|
while(true);
|
|
}
|
|
|
|
#pragma GCC pop_options
|
|
#endif
|