43 lines
1.0 KiB
C++
43 lines
1.0 KiB
C++
|
#include "BootOptions.h"
|
||
|
|
||
|
#ifdef PLATFORM_PHOTON
|
||
|
LEDStatus serialStatus = LEDStatus(RGB_COLOR_ORANGE, LED_PATTERN_FADE, LED_SPEED_FAST, LED_PRIORITY_BACKGROUND);
|
||
|
LEDStatus configStatus = LEDStatus(RGB_COLOR_YELLOW, LED_PATTERN_FADE, LED_SPEED_NORMAL, LED_PRIORITY_IMPORTANT);
|
||
|
retained bool LAST_BOOT_WAS_FLASH;
|
||
|
retained bool LAST_BOOT_WAS_SERIAL;
|
||
|
#endif
|
||
|
|
||
|
void
|
||
|
BootOptions::initPins()
|
||
|
{
|
||
|
#ifdef PLATFORM_PHOTON
|
||
|
pinMode(2, INPUT_PULLDOWN);
|
||
|
pinMode(3, INPUT_PULLDOWN);
|
||
|
pinMode(4, INPUT_PULLDOWN);
|
||
|
#endif
|
||
|
}
|
||
|
|
||
|
BootOptions::BootOptions()
|
||
|
{
|
||
|
#ifdef PLATFORM_PHOTON
|
||
|
isSetup = digitalRead(2) == HIGH;
|
||
|
isSerial = digitalRead(3) == HIGH || LAST_BOOT_WAS_SERIAL;
|
||
|
isFlash = digitalRead(4) == HIGH;
|
||
|
|
||
|
LAST_BOOT_WAS_FLASH = isFlash;
|
||
|
LAST_BOOT_WAS_SERIAL |= isSerial;
|
||
|
lastBootWasFlash = LAST_BOOT_WAS_FLASH;
|
||
|
|
||
|
configStatus.setActive(isSetup);
|
||
|
serialStatus.setActive(isSerial);
|
||
|
#endif
|
||
|
}
|
||
|
|
||
|
void
|
||
|
BootOptions::waitForRelease()
|
||
|
{
|
||
|
#ifdef PLATFORM_PHOTON
|
||
|
while(digitalRead(2) == HIGH || digitalRead(3) == HIGH) {};
|
||
|
#endif
|
||
|
}
|