annotate espNode/desk/src/main.cpp @ 783:e4cf795d3677

support download/set/delete, but somehow enroll has broken
author drewp@bigasterisk.com
date Wed, 26 Aug 2020 03:06:07 -0700
parents 6c42c1f64f00
children 3ff074ba25f1
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
781
6c42c1f64f00 new driver for esp32 and R503 fingerprint sensor
drewp@bigasterisk.com
parents:
diff changeset
1 #include <Arduino.h>
6c42c1f64f00 new driver for esp32 and R503 fingerprint sensor
drewp@bigasterisk.com
parents:
diff changeset
2
783
e4cf795d3677 support download/set/delete, but somehow enroll has broken
drewp@bigasterisk.com
parents: 781
diff changeset
3 #include <string>
e4cf795d3677 support download/set/delete, but somehow enroll has broken
drewp@bigasterisk.com
parents: 781
diff changeset
4
781
6c42c1f64f00 new driver for esp32 and R503 fingerprint sensor
drewp@bigasterisk.com
parents:
diff changeset
5 #include "display.h"
6c42c1f64f00 new driver for esp32 and R503 fingerprint sensor
drewp@bigasterisk.com
parents:
diff changeset
6 #include "fingerprint.h"
6c42c1f64f00 new driver for esp32 and R503 fingerprint sensor
drewp@bigasterisk.com
parents:
diff changeset
7 #include "mqtt.h"
6c42c1f64f00 new driver for esp32 and R503 fingerprint sensor
drewp@bigasterisk.com
parents:
diff changeset
8 #include "wifi.h"
6c42c1f64f00 new driver for esp32 and R503 fingerprint sensor
drewp@bigasterisk.com
parents:
diff changeset
9
6c42c1f64f00 new driver for esp32 and R503 fingerprint sensor
drewp@bigasterisk.com
parents:
diff changeset
10 #define ADC_EN 14
6c42c1f64f00 new driver for esp32 and R503 fingerprint sensor
drewp@bigasterisk.com
parents:
diff changeset
11 #define ADC_PIN 34
6c42c1f64f00 new driver for esp32 and R503 fingerprint sensor
drewp@bigasterisk.com
parents:
diff changeset
12
6c42c1f64f00 new driver for esp32 and R503 fingerprint sensor
drewp@bigasterisk.com
parents:
diff changeset
13 // #include <Button2.h>
6c42c1f64f00 new driver for esp32 and R503 fingerprint sensor
drewp@bigasterisk.com
parents:
diff changeset
14 // #define BUTTON_1 35
6c42c1f64f00 new driver for esp32 and R503 fingerprint sensor
drewp@bigasterisk.com
parents:
diff changeset
15 // #define BUTTON_2 0
6c42c1f64f00 new driver for esp32 and R503 fingerprint sensor
drewp@bigasterisk.com
parents:
diff changeset
16
6c42c1f64f00 new driver for esp32 and R503 fingerprint sensor
drewp@bigasterisk.com
parents:
diff changeset
17 void setup() {
6c42c1f64f00 new driver for esp32 and R503 fingerprint sensor
drewp@bigasterisk.com
parents:
diff changeset
18 Serial.begin(115200);
6c42c1f64f00 new driver for esp32 and R503 fingerprint sensor
drewp@bigasterisk.com
parents:
diff changeset
19 Serial.println("Serial.begin");
6c42c1f64f00 new driver for esp32 and R503 fingerprint sensor
drewp@bigasterisk.com
parents:
diff changeset
20
6c42c1f64f00 new driver for esp32 and R503 fingerprint sensor
drewp@bigasterisk.com
parents:
diff changeset
21 fingerprint::Setup(); // go early since the others display status on our LED
6c42c1f64f00 new driver for esp32 and R503 fingerprint sensor
drewp@bigasterisk.com
parents:
diff changeset
22 display::Setup();
6c42c1f64f00 new driver for esp32 and R503 fingerprint sensor
drewp@bigasterisk.com
parents:
diff changeset
23 display::Message("Hello world");
6c42c1f64f00 new driver for esp32 and R503 fingerprint sensor
drewp@bigasterisk.com
parents:
diff changeset
24 wifi::Setup();
6c42c1f64f00 new driver for esp32 and R503 fingerprint sensor
drewp@bigasterisk.com
parents:
diff changeset
25 mqtt::Setup();
6c42c1f64f00 new driver for esp32 and R503 fingerprint sensor
drewp@bigasterisk.com
parents:
diff changeset
26 }
6c42c1f64f00 new driver for esp32 and R503 fingerprint sensor
drewp@bigasterisk.com
parents:
diff changeset
27
783
e4cf795d3677 support download/set/delete, but somehow enroll has broken
drewp@bigasterisk.com
parents: 781
diff changeset
28 namespace {
e4cf795d3677 support download/set/delete, but somehow enroll has broken
drewp@bigasterisk.com
parents: 781
diff changeset
29 uint16_t LastComponentNumber(const std::string &s) {
e4cf795d3677 support download/set/delete, but somehow enroll has broken
drewp@bigasterisk.com
parents: 781
diff changeset
30 return atoi(s.substr(s.rfind("/") + 1).c_str());
e4cf795d3677 support download/set/delete, but somehow enroll has broken
drewp@bigasterisk.com
parents: 781
diff changeset
31 }
e4cf795d3677 support download/set/delete, but somehow enroll has broken
drewp@bigasterisk.com
parents: 781
diff changeset
32 } // namespace
e4cf795d3677 support download/set/delete, but somehow enroll has broken
drewp@bigasterisk.com
parents: 781
diff changeset
33
781
6c42c1f64f00 new driver for esp32 and R503 fingerprint sensor
drewp@bigasterisk.com
parents:
diff changeset
34 void loop() {
6c42c1f64f00 new driver for esp32 and R503 fingerprint sensor
drewp@bigasterisk.com
parents:
diff changeset
35 Serial.println("--loop--");
783
e4cf795d3677 support download/set/delete, but somehow enroll has broken
drewp@bigasterisk.com
parents: 781
diff changeset
36
781
6c42c1f64f00 new driver for esp32 and R503 fingerprint sensor
drewp@bigasterisk.com
parents:
diff changeset
37 fingerprint::ExecuteAnyQueued();
783
e4cf795d3677 support download/set/delete, but somehow enroll has broken
drewp@bigasterisk.com
parents: 781
diff changeset
38
781
6c42c1f64f00 new driver for esp32 and R503 fingerprint sensor
drewp@bigasterisk.com
parents:
diff changeset
39 fingerprint::ScanLoop();
783
e4cf795d3677 support download/set/delete, but somehow enroll has broken
drewp@bigasterisk.com
parents: 781
diff changeset
40
e4cf795d3677 support download/set/delete, but somehow enroll has broken
drewp@bigasterisk.com
parents: 781
diff changeset
41 if (mqtt::HasPendingMessage()) {
e4cf795d3677 support download/set/delete, but somehow enroll has broken
drewp@bigasterisk.com
parents: 781
diff changeset
42 std::pair<std::string, std::vector<byte>> msg = mqtt::PopPendingMessage();
e4cf795d3677 support download/set/delete, but somehow enroll has broken
drewp@bigasterisk.com
parents: 781
diff changeset
43 const std::string &topic = msg.first;
e4cf795d3677 support download/set/delete, but somehow enroll has broken
drewp@bigasterisk.com
parents: 781
diff changeset
44 const std::vector<byte> &payload = msg.second;
e4cf795d3677 support download/set/delete, but somehow enroll has broken
drewp@bigasterisk.com
parents: 781
diff changeset
45 const std::string payload_string(payload.begin(), payload.end());
e4cf795d3677 support download/set/delete, but somehow enroll has broken
drewp@bigasterisk.com
parents: 781
diff changeset
46
e4cf795d3677 support download/set/delete, but somehow enroll has broken
drewp@bigasterisk.com
parents: 781
diff changeset
47 if (topic == "fingerprint/command") {
e4cf795d3677 support download/set/delete, but somehow enroll has broken
drewp@bigasterisk.com
parents: 781
diff changeset
48 if (payload_string == "enroll") {
e4cf795d3677 support download/set/delete, but somehow enroll has broken
drewp@bigasterisk.com
parents: 781
diff changeset
49 fingerprint::Enroll();
e4cf795d3677 support download/set/delete, but somehow enroll has broken
drewp@bigasterisk.com
parents: 781
diff changeset
50 } else if (payload_string == "show_success") {
e4cf795d3677 support download/set/delete, but somehow enroll has broken
drewp@bigasterisk.com
parents: 781
diff changeset
51 fingerprint::BlinkSuccess();
e4cf795d3677 support download/set/delete, but somehow enroll has broken
drewp@bigasterisk.com
parents: 781
diff changeset
52 while (!mqtt::HasPendingMessage()) yield();
e4cf795d3677 support download/set/delete, but somehow enroll has broken
drewp@bigasterisk.com
parents: 781
diff changeset
53 mqtt::PopPendingMessage();
e4cf795d3677 support download/set/delete, but somehow enroll has broken
drewp@bigasterisk.com
parents: 781
diff changeset
54 // hope it's "clear_success", but who cares
e4cf795d3677 support download/set/delete, but somehow enroll has broken
drewp@bigasterisk.com
parents: 781
diff changeset
55 fingerprint::BlinkClearSuccess();
e4cf795d3677 support download/set/delete, but somehow enroll has broken
drewp@bigasterisk.com
parents: 781
diff changeset
56 } else if (payload_string == "delete_all") {
e4cf795d3677 support download/set/delete, but somehow enroll has broken
drewp@bigasterisk.com
parents: 781
diff changeset
57 fingerprint::DeleteAll();
e4cf795d3677 support download/set/delete, but somehow enroll has broken
drewp@bigasterisk.com
parents: 781
diff changeset
58 } else if (payload_string.rfind("delete/model/", 0) == 0) {
e4cf795d3677 support download/set/delete, but somehow enroll has broken
drewp@bigasterisk.com
parents: 781
diff changeset
59 uint16_t fid = LastComponentNumber(payload_string);
e4cf795d3677 support download/set/delete, but somehow enroll has broken
drewp@bigasterisk.com
parents: 781
diff changeset
60 fingerprint::DeleteModel(fid);
e4cf795d3677 support download/set/delete, but somehow enroll has broken
drewp@bigasterisk.com
parents: 781
diff changeset
61 } else if (payload_string.rfind("download/model/", 0) == 0) {
e4cf795d3677 support download/set/delete, but somehow enroll has broken
drewp@bigasterisk.com
parents: 781
diff changeset
62 uint16_t fid = LastComponentNumber(payload_string);
e4cf795d3677 support download/set/delete, but somehow enroll has broken
drewp@bigasterisk.com
parents: 781
diff changeset
63 fingerprint::DownloadModel(fid);
e4cf795d3677 support download/set/delete, but somehow enroll has broken
drewp@bigasterisk.com
parents: 781
diff changeset
64 }
e4cf795d3677 support download/set/delete, but somehow enroll has broken
drewp@bigasterisk.com
parents: 781
diff changeset
65 } else if (topic.rfind("fingerprint/set/model/", 0) == 0) {
e4cf795d3677 support download/set/delete, but somehow enroll has broken
drewp@bigasterisk.com
parents: 781
diff changeset
66 uint16_t fid = LastComponentNumber(topic);
e4cf795d3677 support download/set/delete, but somehow enroll has broken
drewp@bigasterisk.com
parents: 781
diff changeset
67
e4cf795d3677 support download/set/delete, but somehow enroll has broken
drewp@bigasterisk.com
parents: 781
diff changeset
68 fingerprint::SetModel(fid, payload);
781
6c42c1f64f00 new driver for esp32 and R503 fingerprint sensor
drewp@bigasterisk.com
parents:
diff changeset
69 }
6c42c1f64f00 new driver for esp32 and R503 fingerprint sensor
drewp@bigasterisk.com
parents:
diff changeset
70 }
6c42c1f64f00 new driver for esp32 and R503 fingerprint sensor
drewp@bigasterisk.com
parents:
diff changeset
71 }