ArduChess/Panic.h

44 lines
805 B
C

#ifndef __PANIC_H_INC
#define __PANIC_H_INC
#pragma GCC push_options
#pragma GCC optimize("-Os")
#ifdef _ACF_PANIC_BLINK
void sos() {
pinMode(LED_BUILTIN, OUTPUT);
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