EmlaLockSafe
Tools.h
Go to the documentation of this file.
1
5
#pragma once
6
7
#include "
configuration/HardwareConfiguration.h
"
8
9
#include <ViewBase.h>
10
#include <WiFi.h>
11
15
class
Tools
{
16
public
:
23
static
void
tickWifiSymbol
(LiquidCrystal_PCF8574*
display
,
bool
forceRedraw) {
24
static
uint8_t lastDrawnSymbol = 0;
25
if
(forceRedraw) {
26
lastDrawnSymbol = 0;
27
}
28
29
// get signal strength
30
long
rssi = WiFi.RSSI();
31
32
if
((rssi < -80) || (rssi >= 0)) {
33
if
(lastDrawnSymbol != lcd::ViewBase::scWifiSignal0) {
34
display
->setCursor(19, 0);
35
display
->write(lcd::ViewBase::scWifiSignal0);
36
lastDrawnSymbol = lcd::ViewBase::scWifiSignal0;
37
}
38
}
39
else
if
(rssi < -70) {
40
if
(lastDrawnSymbol != lcd::ViewBase::scWifiSignal1) {
41
display
->setCursor(19, 0);
42
display
->write(lcd::ViewBase::scWifiSignal1);
43
lastDrawnSymbol = lcd::ViewBase::scWifiSignal1;
44
}
45
}
46
else
if
(rssi < -67) {
47
if
(lastDrawnSymbol != lcd::ViewBase::scWifiSignal2) {
48
display
->setCursor(19, 0);
49
display
->write(lcd::ViewBase::scWifiSignal2);
50
lastDrawnSymbol = lcd::ViewBase::scWifiSignal2;
51
}
52
}
53
else
if
(rssi < -30) {
54
if
(lastDrawnSymbol != lcd::ViewBase::scWifiSignal3) {
55
display
->setCursor(19, 0);
56
display
->write(lcd::ViewBase::scWifiSignal3);
57
lastDrawnSymbol = lcd::ViewBase::scWifiSignal3;
58
}
59
}
60
}
61
62
public
:
69
static
void
waitAnimation
(LiquidCrystal_PCF8574*
display
, std::function<
bool
()> stillActive) {
70
while
(stillActive()) {
71
for
(
int
i = 0; (i < 20) && stillActive(); i++) {
72
if
(i == 0) {
73
display
->setCursor(19, 3);
74
display
->print(
' '
);
75
display
->setCursor(i, 3);
76
display
->print(
'*'
);
77
}
78
else
{
79
display
->setCursor(i - 1, 3);
80
display
->print(
" *"
);
81
}
82
83
delay(100);
84
}
85
}
86
}
87
};
HardwareConfiguration.h
Tools
class providing some static functions
Definition:
Tools.h:15
Tools::waitAnimation
static void waitAnimation(LiquidCrystal_PCF8574 *display, std::function< bool()> stillActive)
Shows the animation while waiting until the callback returns false.
Definition:
Tools.h:69
Tools::tickWifiSymbol
static void tickWifiSymbol(LiquidCrystal_PCF8574 *display, bool forceRedraw)
tick routine updating the wifi signal strength icon
Definition:
Tools.h:23
display
views::ConfigurationServerView configurationServerView & display
Definition:
main.cpp:57
software
src
Tools.h
Generated on Tue May 24 2022 15:32:38 for EmlaLockSafe by
1.9.4