text: /***************************************************
    This is an example sketch for our optical Fingerprint sensor
  
    Designed specifically to work with the Adafruit Fingerprint sensor
    ----> http://www.adafruit.com/products/751
  
    These displays use TTL Serial to communicate, 2 pins are required to
    interface
    Adafruit invests time and resources providing this open source code,
    please support Adafruit and open-source hardware by purchasing
    products from Adafruit!
  
    Written by Limor Fried/Ladyada for Adafruit Industries.
    BSD license, all text above must be included in any redistribution
   ****************************************************/
  
  #include <Adafruit_Fingerprint.h>
  
  
  #if (defined(__AVR__) || defined(ESP8266)) && !defined(__AVR_ATmega2560__)
  // For UNO and others without hardware serial, we must use software serial...
  // pin #2 is IN from sensor (GREEN wire)
  // pin #3 is OUT from arduino  (WHITE wire)
  // Set up the serial port to use softwareserial..
  SoftwareSerial mySerial(2, 3);
  
  #else
  // On Leonardo/M0/etc, others with hardware serial, use hardware serial!
  // #0 is green wire, #1 is white
  #define mySerial Serial1
  
  #endif
  
  
  Adafruit_Fingerprint finger = Adafruit_Fingerprint(&mySerial);
  
  void setup()
  {
    Serial.begin(9600);
    while (!Serial);  // For Yun/Leo/Micro/Zero/...
    delay(100);
    Serial.println("\n\nDelete Finger");
  
    // set the data rate for the sensor serial port
    finger.begin(57600);
  
    if (finger.verifyPassword()) {
      Serial.println("Found fingerprint sensor!");
    } else {
      Serial.println("Did not find fingerprint sensor :(");
      while (1);
    }
  }
  
  
  uint8_t readnumber(void) {
    uint8_t num = 0;
  
    while (num == 0) {
      while (! Serial.available());
      num = Serial.parseInt();
    }
    return num;
  }
  
  void loop()                     // run over and over again
  {
    Serial.println("Please type in the ID # (from 1 to 127) you want to delete...");
    uint8_t id = readnumber();
    if (id == 0) {// ID #0 not allowed, try again!
       return;
    }
  
    Serial.print("Deleting ID #");
    Serial.println(id);
  
    deleteFingerprint(id);
  }
  
  uint8_t deleteFingerprint(uint8_t id) {
    uint8_t p = -1;
  
    p = finger.deleteModel(id);
  
    if (p == FINGERPRINT_OK) {
      Serial.println("Deleted!");
    } else if (p == FINGERPRINT_PACKETRECIEVEERR) {
      Serial.println("Communication error");
      return p;
    } else if (p == FINGERPRINT_BADLOCATION) {
      Serial.println("Could not delete in that location");
      return p;
    } else if (p == FINGERPRINT_FLASHERR) {
      Serial.println("Error writing to flash");
      return p;
    } else {
      Serial.print("Unknown error: 0x"); Serial.println(p, HEX);
      return p;
    }
  }
  