ESPectro32 Library
Library for using ESPectro32 board
 All Classes Functions Variables Enumerations Enumerator Pages
ex_wifi_conn_anim.hpp
1 /*
2  * wifi_conn_anim.hpp
3  *
4  * Created on: Aug 21, 2017
5  * Author: andri
6  */
7 
8 #ifndef MAIN_EXAMPLES_WIFI_CONN_ANIM_HPP_
9 #define MAIN_EXAMPLES_WIFI_CONN_ANIM_HPP_
10 
11 #include <esp_log.h>
12 #include "sdkconfig.h"
13 #include <Arduino.h>
14 
15 #include <ESPectro32_Board.h>
16 
17 #include <WiFiManager.h>
18 WiFiManager wifiMgr;
19 
20 #include <ESPectro32_LedMatrix_Animation.h>
21 ESPectro32_LedMatrix_Animation ledMatrixAnim;
23 
24 static const uint8_t PROGMEM LED_MATRIX_WIFI_1[] =
25 { B00000000,
26  B00000000,
27  B00000000,
28  B00000000,
29  B00010000,
30  B00010000,
31  B00000000
32 };
33 
34 static const uint8_t PROGMEM LED_MATRIX_WIFI_2[] =
35 { B00000000,
36  B00000000,
37  B00111000,
38  B01000100,
39  B00010000,
40  B00010000,
41  B00000000
42 };
43 
44 static const uint8_t PROGMEM LED_MATRIX_WIFI_3[] =
45 { B01111100,
46  B10000010,
47  B00111000,
48  B01000100,
49  B00010000,
50  B00010000,
51  B00000000
52 };
53 
54 static void load_ex_wifi_conn_anim() {
55 
56  ledMatrixAnim.setLedMatrix(ESPectro32.LedMatrix());
57  ledMatrixTextAnim.setLedMatrix(ESPectro32.LedMatrix());
58 
59  ledMatrixAnim.addFrameWithData((uint8_t*)LED_MATRIX_WIFI_1);
60  ledMatrixAnim.addFrameWithData((uint8_t*)LED_MATRIX_WIFI_2);
61  ledMatrixAnim.addFrameWithData((uint8_t*)LED_MATRIX_WIFI_3);
62  ledMatrixAnim.addFrameWithDataCallback([](ESPectro32_LedMatrix &ledM) {
63  ledM.clear();
64  });
65 
66  ledMatrixAnim.start(1800, true);
67 
68  wifiMgr.onWiFiConnected([](bool newConn) {
69  ESP_LOGI("WIFI", "IP: %s", wifiMgr.getStationIpAddress().c_str());
70  });
71 
72  wifiMgr.begin(WIFI_MODE_STA, true);
73 
74  //Actually start
75  wifiMgr.start();
76 
77  if (wifiMgr.waitForConnection()) {
78  ledMatrixAnim.stop();
79 
80  delay(1000);
81 
82  ledMatrixTextAnim.onAnimationCompleted([]() {
83  delay(1000);
84  ESPectro32.LedMatrix().displayFrame(2); //display third frame as ending
85  });
86 
87  ledMatrixTextAnim.scrollText(wifiMgr.getStationIpAddress().c_str(), 5000);
88  }
89 }
90 
91 
92 #endif /* MAIN_EXAMPLES_WIFI_CONN_ANIM_HPP_ */
Base class of Led Matrix animation.
Definition: ESPectro32_LedMatrix_Animation.h:28
esp_err_t begin(wifi_mode_t mode=WIFI_MODE_STA, bool autoConnect=true)
Definition: WiFiManager.cpp:112
WiFiManager class.
Definition: WiFiManager.h:45
bool waitForConnection()
Definition: WiFiManager.cpp:326
Definition: ESPectro32_LedMatrix_Animation.h:69
ESPectro32_LedMatrix & LedMatrix()
Get Led Matrix object.
Definition: ESPectro32_Board.cpp:149
The class represents Led Matrix.
Definition: ESPectro32_LedMatrix.h:76
void start(void *taskData=nullptr)
Start an instance of the task.
Definition: Task.cpp:70