Mercurial > code > home > repos > homeauto
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 |
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 } |