 */
 void saveFile(String newFileContent) {
   debugMessage("saveFile() BEGIN!");
+
   removeFile();
+
   uint8_t flashBuffer[CONTENT_SIZE + 1];
   newFileContent.getBytes(flashBuffer, CONTENT_SIZE + 1);
   SerialFlashFile file;
 
+
   debugMessage("saveFile() Creating file if not exist...");
   // Create the file if it doesn't exist
-  if (!create_if_not_exists(filename)) {
-    Serial.println("Not enough space to create file " + String(filename));
-    digitalWrite(ledPin, HIGH);
-    return;
+  while (!create_if_not_exists(filename)) {
+    debugMessage("Memory filled up! Clearing Flash...");
+    SerialFlash.eraseAll();
+
+    while (SerialFlash.ready() == false) {
+      // wait, 30 seconds to 2 minutes for most chips
+    }
   }
 
   debugMessage("saveFile() Opening file for write!");
   // Open the file and write test data
   file = SerialFlash.open(filename);
-  parpadear (3, 50);
 
   debugMessage("saveFile() Writing into file...!");
   file.write(flashBuffer, CONTENT_SIZE + 1 );


    didResetMode = false;
  }
  //debugMessage("checkButton() END!");
}

/*****************************

// Escrito por José Núñez como un ejemplo didáctico para el dominio público.
// Utiliza la librería SerialFlash de Paul Stoffregen.
// Dicha librería se puede descargar de https://github.com/PaulStoffregen/SerialFlash

//Abstracción de la librería SerialFlash para el controlador Intel Curie
#include <CurieSerialFlash.h>
#include <SPI.h>

#define FSIZE 256 //Tamaño predefinido del archivo
#define ledPin 13 //PIN para un LED 
#define buttonPin 10 //PIN para leer un botón. Debe estar "pull-up" y el botón realiza una conexión a tierra.

const char *filename = "rfidble.txt"; //Nombre del archivo
#define CONTENT_SIZE 153 //Tamaño predefinido del contenido del archivo para este ejemplo.

void setup() {
  Serial.begin(9600);
  pinMode(ledPin, OUTPUT);
  pinMode(buttonPin, INPUT);
  
  parpadear (5, 1000);

  debugMessage("Setup() BEGIN!");

  parpadear (3, 500);
  
  // Inicializar operación de la librería SerialFlash
  if (!SerialFlash.begin(ONBOARD_FLASH_SPI_PORT, ONBOARD_FLASH_CS_PIN)) {
    debugMessage("Setup() Unable to access SPI Flash chip");
  }

  debugMessage("Setup() DONE!");
}
/*------*/
/* LOOP */
/*------*/
bool executedOnce = false;
bool addKeyMode = false;
void loop() {
