annotate espNode/desk/src/wifi.cpp @ 1716:2bed2f68243c

older work
author drewp@bigasterisk.com
date Sun, 07 Aug 2022 02:25:40 -0700
parents 6c42c1f64f00
children
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 "wifi.h"
6c42c1f64f00 new driver for esp32 and R503 fingerprint sensor
drewp@bigasterisk.com
parents:
diff changeset
2
6c42c1f64f00 new driver for esp32 and R503 fingerprint sensor
drewp@bigasterisk.com
parents:
diff changeset
3 #include "config.h"
6c42c1f64f00 new driver for esp32 and R503 fingerprint sensor
drewp@bigasterisk.com
parents:
diff changeset
4 #include "mqtt.h"
6c42c1f64f00 new driver for esp32 and R503 fingerprint sensor
drewp@bigasterisk.com
parents:
diff changeset
5 #include "fingerprint.h"
6c42c1f64f00 new driver for esp32 and R503 fingerprint sensor
drewp@bigasterisk.com
parents:
diff changeset
6
6c42c1f64f00 new driver for esp32 and R503 fingerprint sensor
drewp@bigasterisk.com
parents:
diff changeset
7 namespace wifi {
6c42c1f64f00 new driver for esp32 and R503 fingerprint sensor
drewp@bigasterisk.com
parents:
diff changeset
8
6c42c1f64f00 new driver for esp32 and R503 fingerprint sensor
drewp@bigasterisk.com
parents:
diff changeset
9 TimerHandle_t wifiReconnectTimer;
6c42c1f64f00 new driver for esp32 and R503 fingerprint sensor
drewp@bigasterisk.com
parents:
diff changeset
10 namespace {
6c42c1f64f00 new driver for esp32 and R503 fingerprint sensor
drewp@bigasterisk.com
parents:
diff changeset
11 void connectToWifi() {
6c42c1f64f00 new driver for esp32 and R503 fingerprint sensor
drewp@bigasterisk.com
parents:
diff changeset
12 Serial.println("Connecting to Wi-Fi...");
6c42c1f64f00 new driver for esp32 and R503 fingerprint sensor
drewp@bigasterisk.com
parents:
diff changeset
13 fingerprint::BlinkNotConnected();
6c42c1f64f00 new driver for esp32 and R503 fingerprint sensor
drewp@bigasterisk.com
parents:
diff changeset
14 WiFi.begin(WIFI_SSID, WIFI_PASSWORD);
6c42c1f64f00 new driver for esp32 and R503 fingerprint sensor
drewp@bigasterisk.com
parents:
diff changeset
15 }
6c42c1f64f00 new driver for esp32 and R503 fingerprint sensor
drewp@bigasterisk.com
parents:
diff changeset
16 void WiFiEvent(WiFiEvent_t event) {
6c42c1f64f00 new driver for esp32 and R503 fingerprint sensor
drewp@bigasterisk.com
parents:
diff changeset
17 Serial.printf("[WiFi-event] event: %d\n", event);
6c42c1f64f00 new driver for esp32 and R503 fingerprint sensor
drewp@bigasterisk.com
parents:
diff changeset
18 switch (event) {
6c42c1f64f00 new driver for esp32 and R503 fingerprint sensor
drewp@bigasterisk.com
parents:
diff changeset
19 case SYSTEM_EVENT_STA_GOT_IP:
6c42c1f64f00 new driver for esp32 and R503 fingerprint sensor
drewp@bigasterisk.com
parents:
diff changeset
20 Serial.println("WiFi connected");
6c42c1f64f00 new driver for esp32 and R503 fingerprint sensor
drewp@bigasterisk.com
parents:
diff changeset
21 Serial.println("IP address: ");
6c42c1f64f00 new driver for esp32 and R503 fingerprint sensor
drewp@bigasterisk.com
parents:
diff changeset
22 Serial.println(WiFi.localIP());
6c42c1f64f00 new driver for esp32 and R503 fingerprint sensor
drewp@bigasterisk.com
parents:
diff changeset
23 mqtt::ConnectToMqtt();
6c42c1f64f00 new driver for esp32 and R503 fingerprint sensor
drewp@bigasterisk.com
parents:
diff changeset
24 break;
6c42c1f64f00 new driver for esp32 and R503 fingerprint sensor
drewp@bigasterisk.com
parents:
diff changeset
25 case SYSTEM_EVENT_STA_DISCONNECTED:
6c42c1f64f00 new driver for esp32 and R503 fingerprint sensor
drewp@bigasterisk.com
parents:
diff changeset
26 Serial.println("WiFi lost connection");
6c42c1f64f00 new driver for esp32 and R503 fingerprint sensor
drewp@bigasterisk.com
parents:
diff changeset
27 mqtt::StopTimer();
6c42c1f64f00 new driver for esp32 and R503 fingerprint sensor
drewp@bigasterisk.com
parents:
diff changeset
28 xTimerStart(wifiReconnectTimer, 0);
6c42c1f64f00 new driver for esp32 and R503 fingerprint sensor
drewp@bigasterisk.com
parents:
diff changeset
29 break;
6c42c1f64f00 new driver for esp32 and R503 fingerprint sensor
drewp@bigasterisk.com
parents:
diff changeset
30 default:
6c42c1f64f00 new driver for esp32 and R503 fingerprint sensor
drewp@bigasterisk.com
parents:
diff changeset
31 // ??
6c42c1f64f00 new driver for esp32 and R503 fingerprint sensor
drewp@bigasterisk.com
parents:
diff changeset
32 break;
6c42c1f64f00 new driver for esp32 and R503 fingerprint sensor
drewp@bigasterisk.com
parents:
diff changeset
33 }
6c42c1f64f00 new driver for esp32 and R503 fingerprint sensor
drewp@bigasterisk.com
parents:
diff changeset
34 }
6c42c1f64f00 new driver for esp32 and R503 fingerprint sensor
drewp@bigasterisk.com
parents:
diff changeset
35 } // namespace
6c42c1f64f00 new driver for esp32 and R503 fingerprint sensor
drewp@bigasterisk.com
parents:
diff changeset
36 void Setup() {
6c42c1f64f00 new driver for esp32 and R503 fingerprint sensor
drewp@bigasterisk.com
parents:
diff changeset
37 wifiReconnectTimer =
6c42c1f64f00 new driver for esp32 and R503 fingerprint sensor
drewp@bigasterisk.com
parents:
diff changeset
38 xTimerCreate("wifiTimer", pdMS_TO_TICKS(2000), pdFALSE, (void*)0,
6c42c1f64f00 new driver for esp32 and R503 fingerprint sensor
drewp@bigasterisk.com
parents:
diff changeset
39 reinterpret_cast<TimerCallbackFunction_t>(connectToWifi));
6c42c1f64f00 new driver for esp32 and R503 fingerprint sensor
drewp@bigasterisk.com
parents:
diff changeset
40
6c42c1f64f00 new driver for esp32 and R503 fingerprint sensor
drewp@bigasterisk.com
parents:
diff changeset
41 WiFi.onEvent(WiFiEvent);
6c42c1f64f00 new driver for esp32 and R503 fingerprint sensor
drewp@bigasterisk.com
parents:
diff changeset
42 connectToWifi();
6c42c1f64f00 new driver for esp32 and R503 fingerprint sensor
drewp@bigasterisk.com
parents:
diff changeset
43 }
6c42c1f64f00 new driver for esp32 and R503 fingerprint sensor
drewp@bigasterisk.com
parents:
diff changeset
44 bool IsConnected() { return WiFi.isConnected(); }
6c42c1f64f00 new driver for esp32 and R503 fingerprint sensor
drewp@bigasterisk.com
parents:
diff changeset
45 } // namespace wifi