-
Notifications
You must be signed in to change notification settings - Fork 9
/
Copy pathTools.cpp
72 lines (64 loc) · 1.34 KB
/
Tools.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
/*
FM Receiver Project based on Arduino
Copyright (c) 2017-2018 Michael A. Matveev. All right reserved.
This firmware is licensed under a GNU GPL v.3 License.
For more information see: https://www.gnu.org/licenses/gpl-3.0.en.html
*/
#include <Arduino.h>
long __tstamp;
long __tstamp2;
String utf8rus(String source) {
int i, k;
String target;
unsigned char n;
char m[2] = {'0', '\0'};
k = source.length();
i = 0;
while (i < k) {
n = source[i];
i++;
if (n >= 0xBF) {
switch (n) {
case 0xD0: {
n = source[i];
i++;
if (n == 0x81) {
n = 0xA8;
break;
}
if (n >= 0x90 && n <= 0xBF) n = n + 0x2F;
break;
}
case 0xD1: {
n = source[i];
i++;
if (n == 0x91) {
n = 0xB7;
break;
}
if (n >= 0x80 && n <= 0x8F) n = n + 0x6F;
break;
}
}
}
m[0] = n;
target = target + String(m);
}
return target;
};
boolean checkMillis(int m) {
if (millis() - __tstamp > m) {
__tstamp = millis();
return true;
} else {
return false;
}
};
boolean checkMillis2(int m) {
if (millis() - __tstamp2 > m) {
__tstamp2 = millis();
return true;
} else {
return false;
}
};