-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathHtml.h
159 lines (151 loc) · 19 KB
/
Html.h
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
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
/*
***************************************************************************
** Program : ntpStuff, part of DSMRloggerAPI
** Version : v3.0.0
**
** Copyright (c) 2021 Martijn Hendriks
**
** TERMS OF USE: MIT License. See bottom of file.
***************************************************************************
*/
// minified code based on https://github.com/Gheotic/ESP-HTML-Compressor
//const PROGMEM char UpdateHTML[] = {0X3C,0X73,0X63,0X72,0X69,0X70,0X74,0X20,0X73,0X72,0X63,0X3D,0X68,0X74,0X74,0X70,0X73,0X3A,0X2F,0X2F,0X61,0X6A,0X61,0X78,0X2E,0X67,0X6F,0X6F,0X67,0X6C,0X65,0X61,0X70,0X69,0X73,0X2E,0X63,0X6F,0X6D,0X2F,0X61,0X6A,0X61,0X78,0X2F,0X6C,0X69,0X62,0X73,0X2F,0X6A,0X71,0X75,0X65,0X72,0X79,0X2F,0X33,0X2E,0X32,0X2E,0X31,0X2F,0X6A,0X71,0X75,0X65,0X72,0X79,0X2E,0X6D,0X69,0X6E,0X2E,0X6A,0X73,0X3E,0X3C,0X2F,0X73,0X63,0X72,0X69,0X70,0X74,0X3E,0XA,0X3C,0X66,0X6F,0X72,0X6D,0X20,0X6D,0X65,0X74,0X68,0X6F,0X64,0X3D,0X50,0X4F,0X53,0X54,0X20,0X61,0X63,0X74,0X69,0X6F,0X6E,0X3D,0X23,0X20,0X65,0X6E,0X63,0X74,0X79,0X70,0X65,0X3D,0X6D,0X75,0X6C,0X74,0X69,0X70,0X61,0X72,0X74,0X2F,0X66,0X6F,0X72,0X6D,0X2D,0X64,0X61,0X74,0X61,0X20,0X69,0X64,0X3D,0X75,0X70,0X6C,0X6F,0X61,0X64,0X5F,0X66,0X6F,0X72,0X6D,0X3E,0XA,0X3C,0X61,0X20,0X68,0X72,0X65,0X66,0X3D,0X2F,0X20,0X69,0X64,0X3D,0X78,0X3E,0X58,0X3C,0X2F,0X61,0X3E,0XA,0X3C,0X68,0X31,0X3E,0X55,0X70,0X64,0X61,0X74,0X65,0X20,0X50,0X31,0X20,0X44,0X6F,0X6E,0X67,0X65,0X6C,0X3C,0X2F,0X68,0X31,0X3E,0X3C,0X62,0X72,0X3E,0XA,0X3C,0X64,0X69,0X76,0X3E,0X55,0X70,0X64,0X61,0X74,0X65,0X20,0X73,0X6F,0X66,0X74,0X77,0X61,0X72,0X65,0X20,0X6F,0X66,0X20,0X64,0X61,0X74,0X61,0X20,0X76,0X61,0X6E,0X20,0X64,0X65,0X20,0X50,0X31,0X20,0X44,0X6F,0X6E,0X67,0X65,0X6C,0X2E,0X20,0X53,0X6F,0X66,0X74,0X77,0X61,0X72,0X65,0X20,0X69,0X73,0X20,0X74,0X65,0X20,0X68,0X65,0X72,0X6B,0X65,0X6E,0X6E,0X65,0X6E,0X20,0X61,0X61,0X6E,0X20,0X3C,0X62,0X3E,0X2E,0X62,0X69,0X6E,0X28,0X2E,0X67,0X7A,0X29,0X3C,0X2F,0X62,0X3E,0X20,0X64,0X61,0X74,0X61,0X62,0X65,0X73,0X74,0X61,0X6E,0X64,0X20,0X61,0X61,0X6E,0X20,0X3C,0X62,0X3E,0X2E,0X6C,0X69,0X74,0X74,0X6C,0X65,0X66,0X73,0X2E,0X62,0X69,0X6E,0X28,0X2E,0X67,0X7A,0X29,0X3C,0X2F,0X62,0X3E,0X3C,0X62,0X72,0X3E,0X3C,0X62,0X72,0X3E,0X3C,0X2F,0X64,0X69,0X76,0X3E,0XA,0X3C,0X69,0X6E,0X70,0X75,0X74,0X20,0X74,0X79,0X70,0X65,0X3D,0X66,0X69,0X6C,0X65,0X20,0X6E,0X61,0X6D,0X65,0X3D,0X75,0X70,0X64,0X61,0X74,0X65,0X20,0X69,0X64,0X3D,0X66,0X69,0X6C,0X65,0X20,0X6F,0X6E,0X63,0X68,0X61,0X6E,0X67,0X65,0X3D,0X73,0X75,0X62,0X28,0X74,0X68,0X69,0X73,0X29,0X3E,0XA,0X3C,0X6C,0X61,0X62,0X65,0X6C,0X20,0X69,0X64,0X3D,0X66,0X69,0X6C,0X65,0X2D,0X69,0X6E,0X70,0X75,0X74,0X20,0X66,0X6F,0X72,0X3D,0X66,0X69,0X6C,0X65,0X3E,0X3C,0X73,0X70,0X61,0X6E,0X3E,0X53,0X65,0X6C,0X65,0X63,0X74,0X65,0X65,0X72,0X20,0X66,0X69,0X6C,0X65,0X2E,0X2E,0X2E,0X3C,0X2F,0X73,0X70,0X61,0X6E,0X3E,0X3C,0X2F,0X6C,0X61,0X62,0X65,0X6C,0X3E,0XA,0X3C,0X64,0X69,0X76,0X20,0X69,0X64,0X3D,0X70,0X72,0X67,0X3E,0X3C,0X2F,0X64,0X69,0X76,0X3E,0X3C,0X64,0X69,0X76,0X20,0X69,0X64,0X3D,0X70,0X72,0X67,0X62,0X61,0X72,0X3E,0X3C,0X64,0X69,0X76,0X20,0X69,0X64,0X3D,0X62,0X61,0X72,0X3E,0X3C,0X2F,0X64,0X69,0X76,0X3E,0X3C,0X2F,0X64,0X69,0X76,0X3E,0X3C,0X62,0X72,0X3E,0XA,0X3C,0X69,0X6E,0X70,0X75,0X74,0X20,0X74,0X79,0X70,0X65,0X3D,0X73,0X75,0X62,0X6D,0X69,0X74,0X20,0X63,0X6C,0X61,0X73,0X73,0X3D,0X62,0X74,0X6E,0X20,0X76,0X61,0X6C,0X75,0X65,0X3D,0X55,0X50,0X44,0X41,0X54,0X45,0X20,0X6F,0X6E,0X63,0X68,0X61,0X6E,0X67,0X65,0X3D,0X75,0X70,0X6C,0X6F,0X61,0X64,0X28,0X74,0X68,0X69,0X73,0X29,0X3E,0XA,0X3C,0X64,0X69,0X76,0X20,0X69,0X64,0X3D,0X6C,0X65,0X74,0X6F,0X70,0X3E,0X4C,0X45,0X54,0X20,0X4F,0X50,0X21,0X3C,0X62,0X72,0X3E,0X4D,0X61,0X61,0X6B,0X20,0X65,0X65,0X6E,0X20,0X6B,0X6F,0X70,0X69,0X65,0X20,0X76,0X61,0X6E,0X20,0X64,0X61,0X74,0X61,0X62,0X65,0X73,0X74,0X61,0X6E,0X64,0X65,0X6E,0X20,0X28,0X76,0X69,0X61,0X20,0X62,0X65,0X73,0X74,0X61,0X6E,0X64,0X73,0X62,0X65,0X68,0X65,0X65,0X72,0X29,0X20,0X65,0X6E,0X20,0X7A,0X65,0X74,0X20,0X64,0X65,0X20,0X64,0X61,0X74,0X61,0X62,0X65,0X73,0X74,0X61,0X6E,0X64,0X65,0X6E,0X20,0X6E,0X61,0X20,0X68,0X65,0X74,0X20,0X75,0X70,0X64,0X61,0X74,0X65,0X6E,0X20,0X77,0X65,0X65,0X72,0X20,0X74,0X65,0X72,0X75,0X67,0X2E,0X3C,0X2F,0X64,0X69,0X76,0X3E,0XA,0X3C,0X2F,0X66,0X6F,0X72,0X6D,0X3E,0XA,0X3C,0X73,0X63,0X72,0X69,0X70,0X74,0X3E,0X66,0X75,0X6E,0X63,0X74,0X69,0X6F,0X6E,0X20,0X73,0X75,0X62,0X28,0X74,0X29,0X7B,0X76,0X61,0X72,0X20,0X65,0X3D,0X74,0X2E,0X76,0X61,0X6C,0X75,0X65,0X2E,0X73,0X70,0X6C,0X69,0X74,0X28,0X22,0X5C,0X5C,0X5C,0X5C,0X22,0X29,0X3B,0X24,0X28,0X22,0X23,0X66,0X69,0X6C,0X65,0X2D,0X69,0X6E,0X70,0X75,0X74,0X22,0X29,0X2E,0X68,0X74,0X6D,0X6C,0X28,0X22,0X3C,0X73,0X70,0X61,0X6E,0X3E,0X22,0X2B,0X65,0X5B,0X65,0X2E,0X6C,0X65,0X6E,0X67,0X74,0X68,0X2D,0X31,0X5D,0X2B,0X22,0X3C,0X2F,0X73,0X70,0X61,0X6E,0X3E,0X22,0X29,0X2C,0X2D,0X31,0X3C,0X74,0X2E,0X76,0X61,0X6C,0X75,0X65,0X2E,0X69,0X6E,0X64,0X65,0X78,0X4F,0X66,0X28,0X22,0X6C,0X69,0X74,0X74,0X6C,0X65,0X66,0X73,0X22,0X29,0X3F,0X24,0X28,0X22,0X23,0X6C,0X65,0X74,0X6F,0X70,0X22,0X29,0X2E,0X63,0X73,0X73,0X28,0X22,0X64,0X69,0X73,0X70,0X6C,0X61,0X79,0X22,0X2C,0X22,0X62,0X6C,0X6F,0X63,0X6B,0X22,0X29,0X3A,0X24,0X28,0X22,0X23,0X6C,0X65,0X74,0X6F,0X70,0X22,0X29,0X2E,0X63,0X73,0X73,0X28,0X22,0X64,0X69,0X73,0X70,0X6C,0X61,0X79,0X22,0X2C,0X22,0X6E,0X6F,0X6E,0X65,0X22,0X29,0X7D,0X24,0X28,0X22,0X66,0X6F,0X72,0X6D,0X22,0X29,0X2E,0X73,0X75,0X62,0X6D,0X69,0X74,0X28,0X66,0X75,0X6E,0X63,0X74,0X69,0X6F,0X6E,0X28,0X74,0X29,0X7B,0X74,0X2E,0X70,0X72,0X65,0X76,0X65,0X6E,0X74,0X44,0X65,0X66,0X61,0X75,0X6C,0X74,0X28,0X29,0X3B,0X76,0X61,0X72,0X20,0X65,0X3D,0X24,0X28,0X22,0X23,0X75,0X70,0X6C,0X6F,0X61,0X64,0X5F,0X66,0X6F,0X72,0X6D,0X22,0X29,0X5B,0X30,0X5D,0X2C,0X6E,0X3D,0X6E,0X65,0X77,0X20,0X46,0X6F,0X72,0X6D,0X44,0X61,0X74,0X61,0X28,0X65,0X29,0X3B,0X24,0X2E,0X61,0X6A,0X61,0X78,0X28,0X7B,0X75,0X72,0X6C,0X3A,0X22,0X2F,0X75,0X70,0X64,0X61,0X74,0X65,0X22,0X2C,0X74,0X79,0X70,0X65,0X3A,0X22,0X50,0X4F,0X53,0X54,0X22,0X2C,0X64,0X61,0X74,0X61,0X3A,0X6E,0X2C,0X63,0X6F,0X6E,0X74,0X65,0X6E,0X74,0X54,0X79,0X70,0X65,0X3A,0X21,0X31,0X2C,0X70,0X72,0X6F,0X63,0X65,0X73,0X73,0X44,0X61,0X74,0X61,0X3A,0X21,0X31,0X2C,0X78,0X68,0X72,0X3A,0X66,0X75,0X6E,0X63,0X74,0X69,0X6F,0X6E,0X28,0X29,0X7B,0X76,0X61,0X72,0X20,0X74,0X3D,0X6E,0X65,0X77,0X20,0X77,0X69,0X6E,0X64,0X6F,0X77,0X2E,0X58,0X4D,0X4C,0X48,0X74,0X74,0X70,0X52,0X65,0X71,0X75,0X65,0X73,0X74,0X3B,0X72,0X65,0X74,0X75,0X72,0X6E,0X20,0X74,0X2E,0X75,0X70,0X6C,0X6F,0X61,0X64,0X2E,0X61,0X64,0X64,0X45,0X76,0X65,0X6E,0X74,0X4C,0X69,0X73,0X74,0X65,0X6E,0X65,0X72,0X28,0X22,0X70,0X72,0X6F,0X67,0X72,0X65,0X73,0X73,0X22,0X2C,0X66,0X75,0X6E,0X63,0X74,0X69,0X6F,0X6E,0X28,0X74,0X29,0X7B,0X69,0X66,0X28,0X74,0X2E,0X6C,0X65,0X6E,0X67,0X74,0X68,0X43,0X6F,0X6D,0X70,0X75,0X74,0X61,0X62,0X6C,0X65,0X29,0X7B,0X76,0X61,0X72,0X20,0X65,0X3D,0X31,0X30,0X30,0X2A,0X74,0X2E,0X6C,0X6F,0X61,0X64,0X65,0X64,0X2F,0X74,0X2E,0X74,0X6F,0X74,0X61,0X6C,0X3B,0X24,0X28,0X22,0X23,0X70,0X72,0X67,0X22,0X29,0X2E,0X68,0X74,0X6D,0X6C,0X28,0X22,0X76,0X6F,0X6F,0X72,0X74,0X67,0X61,0X6E,0X67,0X3A,0X20,0X22,0X2B,0X65,0X2E,0X74,0X6F,0X46,0X69,0X78,0X65,0X64,0X28,0X30,0X29,0X2B,0X22,0X25,0X22,0X29,0X2C,0X24,0X28,0X22,0X23,0X62,0X61,0X72,0X22,0X29,0X2E,0X63,0X73,0X73,0X28,0X22,0X77,0X69,0X64,0X74,0X68,0X22,0X2C,0X65,0X2E,0X74,0X6F,0X46,0X69,0X78,0X65,0X64,0X28,0X30,0X29,0X2B,0X22,0X25,0X22,0X29,0X7D,0X7D,0X2C,0X21,0X31,0X29,0X2C,0X74,0X2E,0X75,0X70,0X6C,0X6F,0X61,0X64,0X2E,0X61,0X64,0X64,0X45,0X76,0X65,0X6E,0X74,0X4C,0X69,0X73,0X74,0X65,0X6E,0X65,0X72,0X28,0X22,0X6C,0X6F,0X61,0X64,0X22,0X2C,0X66,0X75,0X6E,0X63,0X74,0X69,0X6F,0X6E,0X28,0X74,0X29,0X7B,0X24,0X28,0X22,0X23,0X70,0X72,0X67,0X22,0X29,0X2E,0X68,0X74,0X6D,0X6C,0X28,0X22,0X55,0X70,0X6C,0X6F,0X61,0X64,0X65,0X64,0X20,0X3A,0X20,0X68,0X65,0X72,0X73,0X74,0X61,0X72,0X74,0X65,0X6E,0X20,0X2E,0X2E,0X2E,0X22,0X29,0X7D,0X2C,0X21,0X31,0X29,0X2C,0X74,0X7D,0X2C,0X73,0X75,0X63,0X63,0X65,0X73,0X73,0X3A,0X66,0X75,0X6E,0X63,0X74,0X69,0X6F,0X6E,0X28,0X74,0X2C,0X65,0X29,0X7B,0X63,0X6F,0X6E,0X73,0X6F,0X6C,0X65,0X2E,0X6C,0X6F,0X67,0X28,0X22,0X73,0X75,0X63,0X63,0X65,0X73,0X73,0X21,0X22,0X29,0X2C,0X64,0X6F,0X63,0X75,0X6D,0X65,0X6E,0X74,0X2E,0X6C,0X6F,0X63,0X61,0X74,0X69,0X6F,0X6E,0X2E,0X68,0X72,0X65,0X66,0X3D,0X22,0X2F,0X22,0X7D,0X2C,0X65,0X72,0X72,0X6F,0X72,0X3A,0X66,0X75,0X6E,0X63,0X74,0X69,0X6F,0X6E,0X28,0X74,0X2C,0X65,0X2C,0X6E,0X29,0X7B,0X7D,0X7D,0X29,0X7D,0X29,0X3C,0X2F,0X73,0X63,0X72,0X69,0X70,0X74,0X3E,0X3C,0X73,0X74,0X79,0X6C,0X65,0X3E,0X23,0X66,0X69,0X6C,0X65,0X2D,0X69,0X6E,0X70,0X75,0X74,0X2C,0X69,0X6E,0X70,0X75,0X74,0X7B,0X77,0X69,0X64,0X74,0X68,0X3A,0X31,0X30,0X30,0X25,0X3B,0X68,0X65,0X69,0X67,0X68,0X74,0X3A,0X34,0X34,0X70,0X78,0X3B,0X62,0X6F,0X72,0X64,0X65,0X72,0X2D,0X72,0X61,0X64,0X69,0X75,0X73,0X3A,0X34,0X70,0X78,0X3B,0X6D,0X61,0X72,0X67,0X69,0X6E,0X3A,0X31,0X30,0X70,0X78,0X20,0X61,0X75,0X74,0X6F,0X3B,0X66,0X6F,0X6E,0X74,0X2D,0X73,0X69,0X7A,0X65,0X3A,0X31,0X35,0X70,0X78,0X7D,0X69,0X6E,0X70,0X75,0X74,0X7B,0X62,0X61,0X63,0X6B,0X67,0X72,0X6F,0X75,0X6E,0X64,0X3A,0X23,0X66,0X31,0X66,0X31,0X66,0X31,0X3B,0X62,0X6F,0X72,0X64,0X65,0X72,0X3A,0X30,0X3B,0X70,0X61,0X64,0X64,0X69,0X6E,0X67,0X3A,0X30,0X20,0X31,0X35,0X70,0X78,0X7D,0X62,0X6F,0X64,0X79,0X7B,0X62,0X61,0X63,0X6B,0X67,0X72,0X6F,0X75,0X6E,0X64,0X3A,0X23,0X33,0X34,0X39,0X38,0X64,0X62,0X3B,0X66,0X6F,0X6E,0X74,0X2D,0X66,0X61,0X6D,0X69,0X6C,0X79,0X3A,0X73,0X61,0X6E,0X73,0X2D,0X73,0X65,0X72,0X69,0X66,0X3B,0X66,0X6F,0X6E,0X74,0X2D,0X73,0X69,0X7A,0X65,0X3A,0X31,0X34,0X70,0X78,0X3B,0X63,0X6F,0X6C,0X6F,0X72,0X3A,0X23,0X37,0X37,0X37,0X7D,0X23,0X66,0X69,0X6C,0X65,0X2D,0X69,0X6E,0X70,0X75,0X74,0X7B,0X70,0X61,0X64,0X64,0X69,0X6E,0X67,0X3A,0X30,0X3B,0X62,0X6F,0X72,0X64,0X65,0X72,0X3A,0X31,0X70,0X78,0X20,0X73,0X6F,0X6C,0X69,0X64,0X20,0X23,0X64,0X64,0X64,0X3B,0X6C,0X69,0X6E,0X65,0X2D,0X68,0X65,0X69,0X67,0X68,0X74,0X3A,0X34,0X34,0X70,0X78,0X3B,0X64,0X69,0X73,0X70,0X6C,0X61,0X79,0X3A,0X62,0X6C,0X6F,0X63,0X6B,0X3B,0X63,0X75,0X72,0X73,0X6F,0X72,0X3A,0X70,0X6F,0X69,0X6E,0X74,0X65,0X72,0X7D,0X23,0X62,0X61,0X72,0X2C,0X23,0X70,0X72,0X67,0X62,0X61,0X72,0X7B,0X62,0X61,0X63,0X6B,0X67,0X72,0X6F,0X75,0X6E,0X64,0X2D,0X63,0X6F,0X6C,0X6F,0X72,0X3A,0X23,0X66,0X31,0X66,0X31,0X66,0X31,0X3B,0X62,0X6F,0X72,0X64,0X65,0X72,0X2D,0X72,0X61,0X64,0X69,0X75,0X73,0X3A,0X31,0X30,0X70,0X78,0X3B,0X77,0X69,0X64,0X74,0X68,0X3A,0X31,0X30,0X30,0X25,0X7D,0X23,0X62,0X61,0X72,0X7B,0X62,0X61,0X63,0X6B,0X67,0X72,0X6F,0X75,0X6E,0X64,0X2D,0X63,0X6F,0X6C,0X6F,0X72,0X3A,0X23,0X33,0X34,0X39,0X38,0X64,0X62,0X3B,0X77,0X69,0X64,0X74,0X68,0X3A,0X30,0X25,0X3B,0X68,0X65,0X69,0X67,0X68,0X74,0X3A,0X31,0X30,0X70,0X78,0X7D,0X23,0X66,0X69,0X6C,0X65,0X2D,0X69,0X6E,0X70,0X75,0X74,0X20,0X73,0X70,0X61,0X6E,0X7B,0X6D,0X61,0X72,0X67,0X69,0X6E,0X2D,0X6C,0X65,0X66,0X74,0X3A,0X36,0X70,0X78,0X7D,0X66,0X6F,0X72,0X6D,0X7B,0X62,0X61,0X63,0X6B,0X67,0X72,0X6F,0X75,0X6E,0X64,0X3A,0X23,0X66,0X66,0X66,0X3B,0X6D,0X61,0X78,0X2D,0X77,0X69,0X64,0X74,0X68,0X3A,0X34,0X35,0X30,0X70,0X78,0X3B,0X6D,0X61,0X72,0X67,0X69,0X6E,0X3A,0X37,0X35,0X70,0X78,0X20,0X61,0X75,0X74,0X6F,0X3B,0X70,0X61,0X64,0X64,0X69,0X6E,0X67,0X3A,0X33,0X30,0X70,0X78,0X3B,0X62,0X6F,0X72,0X64,0X65,0X72,0X2D,0X72,0X61,0X64,0X69,0X75,0X73,0X3A,0X35,0X70,0X78,0X7D,0X2E,0X62,0X74,0X6E,0X7B,0X62,0X61,0X63,0X6B,0X67,0X72,0X6F,0X75,0X6E,0X64,0X3A,0X23,0X33,0X34,0X39,0X38,0X64,0X62,0X3B,0X63,0X6F,0X6C,0X6F,0X72,0X3A,0X23,0X66,0X66,0X66,0X3B,0X63,0X75,0X72,0X73,0X6F,0X72,0X3A,0X70,0X6F,0X69,0X6E,0X74,0X65,0X72,0X7D,0X64,0X69,0X76,0X7B,0X6D,0X61,0X72,0X67,0X69,0X6E,0X3A,0X31,0X30,0X70,0X78,0X20,0X61,0X75,0X74,0X6F,0X7D,0X68,0X31,0X7B,0X74,0X65,0X78,0X74,0X2D,0X61,0X6C,0X69,0X67,0X6E,0X3A,0X63,0X65,0X6E,0X74,0X65,0X72,0X7D,0X23,0X6C,0X65,0X74,0X6F,0X70,0X2C,0X69,0X6E,0X70,0X75,0X74,0X5B,0X74,0X79,0X70,0X65,0X3D,0X66,0X69,0X6C,0X65,0X5D,0X7B,0X64,0X69,0X73,0X70,0X6C,0X61,0X79,0X3A,0X6E,0X6F,0X6E,0X65,0X3B,0X63,0X6F,0X6C,0X6F,0X72,0X3A,0X72,0X65,0X64,0X7D,0X23,0X78,0X7B,0X70,0X6F,0X73,0X69,0X74,0X69,0X6F,0X6E,0X3A,0X72,0X65,0X6C,0X61,0X74,0X69,0X76,0X65,0X3B,0X66,0X6C,0X6F,0X61,0X74,0X3A,0X72,0X69,0X67,0X68,0X74,0X3B,0X62,0X61,0X63,0X6B,0X67,0X72,0X6F,0X75,0X6E,0X64,0X3A,0X30,0X20,0X30,0X3B,0X62,0X6F,0X72,0X64,0X65,0X72,0X3A,0X6E,0X6F,0X6E,0X65,0X3B,0X74,0X6F,0X70,0X3A,0X2D,0X31,0X30,0X70,0X78,0X3B,0X72,0X69,0X67,0X68,0X74,0X3A,0X2D,0X31,0X30,0X70,0X78,0X3B,0X74,0X65,0X78,0X74,0X2D,0X64,0X65,0X63,0X6F,0X72,0X61,0X74,0X69,0X6F,0X6E,0X3A,0X6E,0X6F,0X6E,0X65,0X7D,0X3C,0X2F,0X73,0X74,0X79,0X6C,0X65,0X3E};
static const char UpdateHTML[] PROGMEM =
R"(<script src='https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js'></script>
<form method='POST' action='#' enctype='multipart/form-data' id='upload_form'>
<a href="/" id="x">X</a>
<h1>Update P1 Dongel</h1><br>
<div>Update software of data van de P1 Dongel. Software is te herkennen aan <b>.bin(.gz)</b> databestand aan <b>.littlefs.bin(.gz)</b><br><br></div>
<input type='file' name='update' id='file' onchange='sub(this)'>
<label id='file-input' for='file'><span>Selecteer file...</span></label>
<div id='prg'></div><div id='prgbar'><div id='bar'></div></div><br>
<input type='submit' class=btn value='UPDATE' onchange='upload(this)'></div>
<div id=letop>LET OP!<br>Maak een kopie van databestanden (via bestandsbeheer) en zet de databestanden na het updaten weer terug.</div>
</form>
<script>
function sub(obj){
var fileName = obj.value.split('\\\\');
$('#file-input').html('<span>'+ fileName[fileName.length-1]+'</span>');
if (obj.value.indexOf('littlefs')>-1) {$('#letop').css('display','block')} else $('#letop').css('display','none');}
$('form').submit(function(e){
e.preventDefault();
var form = $('#upload_form')[0];
var data = new FormData(form);
$.ajax({
url: '/update',
type: 'POST',
data: data,
contentType: false,
processData:false,
xhr: function() {
var xhr = new window.XMLHttpRequest();
xhr.upload.addEventListener('progress', function(e) {
if (e.lengthComputable) {
var per = 100 * e.loaded / e.total;
$('#prg').html('voortgang: '+per.toFixed(0)+'%');
$('#bar').css('width',per.toFixed(0)+'%');
}
}, false);
xhr.upload.addEventListener('load', function(e) {
$('#prg').html('Uploaded : herstarten ...');
}, false);
return xhr;
},
success:function(d, s) {
console.log('success!');
document.location.href='/';
},
error: function (a, b, c) {
}
});
});
</script><style>
#file-input,input{width:100%;height:44px;border-radius:4px;margin:10px auto;font-size:15px}
input{background:#f1f1f1;border:0;padding:0 15px}body{background:#3498db;font-family:sans-serif;font-size:14px;color:#777}
#file-input{padding:0;border:1px solid #ddd;line-height:44px;display:block;cursor:pointer}
#bar,#prgbar{background-color:#f1f1f1;border-radius:10px;width:100%}#bar{background-color:#3498db;width:0%;height:10px}
#file-input span{margin-left:6px}
form{background:#fff;max-width:450px;margin:75px auto;padding:30px;border-radius:5px}
.btn{background:#3498db;color:#fff;cursor:pointer}
div{margin:10px auto}
h1{text-align:center}
#letop,input[type=file]{display:none;color:red}
#x{position:relative; float:right;background:none;border:none;top:-10px;right:-10px;text-decoration:none;
</style>)";
//********************* INDEX.HTML
static const char IndexHTML[] PROGMEM =
R"(<!DOCTYPE html>
<html lang=nl>
<head>
<title>P1 Dongle - DSMR-API</title>
<meta charset=UTF-8>
<meta name=viewport content='width=device-width, initial-scale=1'>
<meta name=msapplication-TileImage content=https://cdn.jsdelivr.net/gh/mhendriks/DSMR-API-V2@latest/edge/favicon/ms-icon-310x310.png>
<link rel=stylesheet type=text/css href=https://cdn.jsdelivr.net/gh/mhendriks/DSMR-API-V2@latest/edge/DSMRindex.min.css>
<link rel=stylesheet type=text/css href=https://cdn.jsdelivr.net/npm/@mdi/font@latest/css/materialdesignicons.min.css>
<link rel=icon type=image/png href=https://cdn.jsdelivr.net/gh/mhendriks/DSMR-API-V2@latest/edge/favicon/favicon-32x32.png sizes=32x32 />
<link rel=apple-touch-icon sizes=180x180 href=https://cdn.jsdelivr.net/gh/mhendriks/DSMR-API-V2@latest/edge/favicon/apple-icon-180x180.png>
<link href='https://fonts.googleapis.com/css?family=Dosis:400,700' rel=stylesheet>
<script src=https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.9.3/Chart.min.js></script>
<script type=text/javascript src=https://cdn.jsdelivr.net/gh/mhendriks/DSMR-API-V2@latest/edge/chartjs-plugin-labels.min.js></script>
<script src=https://cdnjs.cloudflare.com/ajax/libs/mathjs/7.0.0/math.min.js type=text/javascript></script>
</head>
<body><noscript><strong>Please enable JavaScript to continue.</strong></noscript>
<script src=https://cdn.jsdelivr.net/gh/mhendriks/DSMR-API-V2@latest/edge/DSMRgraphics.min.js></script>
<script src=https://cdn.jsdelivr.net/gh/mhendriks/DSMR-API-V2@latest/edge/DSMRindex.min.js></script>
<script>window.onload=function(){console.log('window.onload .. ');readPageBody();}
function readPageBody()
{console.log('readPageBody() ..');fetch('https://cdn.jsdelivr.net/gh/mhendriks/DSMR-API-V2@latest/edge/DSMRindex_body.html').then(r=>{if(r.ok){return r.text();}else{console.log('Something went wrong');return'';}}).then(text=>{document.body.innerHTML=text+document.body.innerHTML;bootsTrapMain();}).catch(function(e){console.log('readPageBody: '+e);});}</script>
</body>
</html>)";
/*
*
*
*
<!DOCTYPE html>
<html lang=nl>
<head>
<title>P1 Dongle - DSMR-API</title>
<meta charset='UTF-8'>
<meta name='viewport' content='width=device-width, initial-scale=1'>
<meta name='msapplication-TileImage' content='https://cdn.jsdelivr.net/gh/mhendriks/DSMR-API-V2@latest/edge/favicon/ms-icon-310x310.png'>
<link rel='stylesheet' type='text/css' href='https://cdn.jsdelivr.net/gh/mhendriks/DSMR-API-V2@latest/edge/DSMRindex.min.css'>
<link rel='stylesheet' type='text/css' href='https://cdn.jsdelivr.net/npm/@mdi/font@latest/css/materialdesignicons.min.css'>
<link rel='icon' type='image/png' href='https://cdn.jsdelivr.net/gh/mhendriks/DSMR-API-V2@latest/edge/favicon/favicon-32x32.png' sizes='32x32' />
<link rel='apple-touch-icon' sizes='180x180' href='https://cdn.jsdelivr.net/gh/mhendriks/DSMR-API-V2@latest/edge/favicon/apple-icon-180x180.png'>
<link href='https://fonts.googleapis.com/css?family=Dosis:400,700' rel='stylesheet'>
<script src='https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.9.3/Chart.min.js'></script>
<script type='text/javascript' src='https://cdn.jsdelivr.net/gh/mhendriks/DSMR-API-V2@latest/edge/chartjs-plugin-labels.min.js'></script>
<script src='https://cdnjs.cloudflare.com/ajax/libs/mathjs/7.0.0/math.min.js' type='text/javascript'></script>
</head>
<body><noscript><strong>Please enable JavaScript to continue.</strong></noscript>
<script src='https://cdn.jsdelivr.net/gh/mhendriks/DSMR-API-V2@latest/edge/DSMRgraphics.min.js'></script>
<script src='https://cdn.jsdelivr.net/gh/mhendriks/DSMR-API-V2@latest/edge/DSMRindex.min.js'></script>
<script>
window.onload= function() {
console.log('window.onload .. ');
readPageBody();
}
function readPageBody()
{
console.log('readPageBody() ..');
fetch('https://cdn.jsdelivr.net/gh/mhendriks/DSMR-API-V2@latest/edge/DSMRindex_body.html')
.then(r => {
if (r.ok) {
return r.text();
} else {
console.log('Something went wrong');
return '';
}
})
.then(text => {
document.body.innerHTML = text + document.body.innerHTML;
bootsTrapMain();
})
.catch(function(e) {
console.log('readPageBody: '+e);
});}
</script>
</body>
</html>
*/