diff espNode/desk/src/fingerprint.cpp @ 1678:7831b5de3572

espNode checkpoint
author drewp@bigasterisk.com
date Mon, 27 Sep 2021 22:59:39 -0700
parents 3ff074ba25f1
children
line wrap: on
line diff
--- a/espNode/desk/src/fingerprint.cpp	Wed Sep 22 01:22:05 2021 -0700
+++ b/espNode/desk/src/fingerprint.cpp	Mon Sep 27 22:59:39 2021 -0700
@@ -31,13 +31,12 @@
   finger.led_control(led_breathe, led_medium, led_purple, led_forever);
 }
 void BlinkClearSuccess() {
-  finger.led_control(led_breathe, led_medium, led_purple, 1);
+  finger.led_control(led_breathe, led_medium, led_purple, /*times=*/1);
 }
 void BlinkError() {
   finger.led_control(led_flash, led_medium, led_red, /*times=*/3);
   delay(500);
 }
-void BlinkDoorUnlocked() {}
 void BlinkStartEnroll() {
   finger.led_control(led_flash, led_slow, led_blue, led_forever);
 }
@@ -45,7 +44,7 @@
   finger.led_control(led_flash, led_medium, led_blue, led_forever);
 }
 void BlinkClearEnroll() {
-  finger.led_control(led_flash, led_slow, led_blue, 1);
+  finger.led_control(led_flash, led_slow, led_blue, /*times=*/1);
 }
 
 void (*queued)() = nullptr;
@@ -56,7 +55,7 @@
     queued = nullptr;
   }
 }
-
+namespace {
 bool NeedToGetBackToMainLoopSoon() {
   return mqtt::HasPendingMessage() || queued;
 }
@@ -128,6 +127,9 @@
     case FPM_DBREADFAIL:
       errStr = "Invalid model";
       break;
+    case FPM_DBCLEARFAIL:
+      errStr = "Could not clear database";
+      break;
     default:
       char buf[100];
       snprintf(buf, sizeof(buf), "Unknown error (%d)", p);
@@ -203,7 +205,7 @@
   snprintf(msg, sizeof(msg), "Found id %d confidence %d", fid, score);
   LogDetect(msg);
 }
-
+}  // namespace
 void ScanLoop() {
   const std::string& log_mode = "scan";
   if (!GetImage(log_mode)) {
@@ -221,7 +223,7 @@
 
   ReportFoundMatch(fid, score);
 }
-
+namespace {
 bool get_free_id(const std::string& log_mode, int16_t* fid) {
   int16_t p = -1;
   for (int page = 0; page < (params.capacity / FPM_TEMPLATES_PER_PAGE) + 1;
@@ -305,7 +307,7 @@
     return EnrollFailed(log_mode);
   }
 }
-
+}  // namespace
 void Enroll() {
   const std::string log_mode = "enroll";
   BlinkStartEnroll();
@@ -425,7 +427,14 @@
   }
 }
 
-void DeleteAll() {}
+void DeleteAll() {
+  int16_t p = finger.emptyDatabase();
+  if (p == FPM_OK) {
+    LogStore("Database cleared");
+  } else {
+    LogFpmError("deleteAll", "emptyDatabase", p);
+  }
+}
 
 void Setup() {
   fserial.begin(57600, SERIAL_8N1, 26 /*rx*/, 27 /*tx*/);