Stop feather from resetting SPIFFS every boot

This commit is contained in:
DTTerastar 2021-03-27 10:02:10 -04:00
parent 65fa2f2217
commit 87c98e12ab
2 changed files with 25 additions and 15 deletions

View File

@ -31,19 +31,28 @@
//Specify the LED pin. For most dev boards, this is GPIO2
#ifdef M5STICK
#define LED_BUILTIN 10 // M5StickC
#else
#define LED_BUILTIN 13 // Feather
#define LED_BUILTIN 10
#define LED_BUILTIN_ON 0
#define BUTTON 39
#define BUTTON_PRESSED 0
#else // Huzzah32
#define LED_BUILTIN 13
#define LED_BUILTIN_ON 1
#define BUTTON 39
#define BUTTON_PRESSED 1
#endif
#ifdef M5STICK
#define BUTTON 39 // M5StickC
#else
#define BUTTON 39 // Feather
#endif
// Logic level for turning the led on. Most boards use active low, meaning LED_ON should be set to 0
#define LED_ON 0
#else
#endif
//Define the base topic for room detection. Usually "room_presence"
#define CHANNEL String("room_presence")

View File

@ -212,10 +212,10 @@ void connectToWifi()
// Set custom callback functions
WiFiSettings.onSuccess = []() {
digitalWrite(LED_BUILTIN, LED_ON); // Turn LED on
digitalWrite(LED_BUILTIN, LED_BUILTIN_ON); // Turn LED on
};
WiFiSettings.onFailure = []() {
digitalWrite(LED_BUILTIN, !LED_ON); // Turn LED off
digitalWrite(LED_BUILTIN, !LED_BUILTIN_ON); // Turn LED off
};
WiFiSettings.onWaitLoop = []() {
digitalWrite(LED_BUILTIN, !digitalRead(LED_BUILTIN)); // Toggle LED
@ -317,12 +317,12 @@ class MyAdvertisedDeviceCallbacks : public BLEAdvertisedDeviceCallbacks
{
void onResult(BLEAdvertisedDevice *advertisedDevice)
{
digitalWrite(LED_BUILTIN, LED_ON);
digitalWrite(LED_BUILTIN, LED_BUILTIN_ON);
//Serial.printf("Advertised Device: %s \n", advertisedDevice->toString().c_str());
BleFingerprint *f = getFingerprint(advertisedDevice);
f->seen(advertisedDevice);
vTaskDelay(advertisedDevice->getRSSI() > -60 ? 2 : 1);
digitalWrite(LED_BUILTIN, !LED_ON);
digitalWrite(LED_BUILTIN, !LED_BUILTIN_ON);
}
};
@ -419,7 +419,7 @@ void configureOTA()
})
.onEnd([]() {
updateInProgress = false;
digitalWrite(LED_BUILTIN, !LED_ON);
digitalWrite(LED_BUILTIN, !LED_BUILTIN_ON);
Serial.println("\n\rEnd");
})
.onProgress([](unsigned int progress, unsigned int total) {
@ -537,7 +537,7 @@ void spiffsInit()
digitalWrite(LED_BUILTIN, ledState);
long lastDebounceTime = millis();
while (digitalRead(BUTTON) == 0)
while (digitalRead(BUTTON) == BUTTON_PRESSED)
{
if ((millis() - lastDebounceTime) > debounceDelay)
{
@ -548,6 +548,7 @@ void spiffsInit()
if (flashes > 10)
{
Serial.println(F("Resetting back to defaults..."));
digitalWrite(LED_BUILTIN, 1);
SPIFFS.format();
SPIFFS.begin(true);