forked from ExpressLRS/ExpressLRS
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathESP32_WebUpdate.h
More file actions
66 lines (62 loc) · 20.5 KB
/
ESP32_WebUpdate.h
File metadata and controls
66 lines (62 loc) · 20.5 KB
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
#ifdef PLATFORM_ESP32
void HandleWebUpdate();
void BeginWebUpdate();
static const char PROGMEM INDEX_HTML[] = R"rawliteral(<!DOCTYPE HTML>
<html>
<head>
<title>Welcome to your ExpressLRS System</title>
<meta charset=utf-8 />
<meta name=viewport content="width=device-width, initial-scale=1" />
<link rel=stylesheet href=css.css />
</head>
<body>
<section id=header>
<div class=inner>
<img src="data:image/png;base64,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" height=250 width=250 style=padding:20px></a>
<h1>Welcome to your <b>ExpressLRS</b><br/> update page<br/>
</h1>
<p>From here you can update the firmware on your module<br/>
<p>
<b>Firmware Rev. </b><var id=FirmVersion>1.0</var><p>
</div>
</section>
<br>
<section id=one class="main style1">
<div class=container>
<div align=left>
<legend><h2>Useful Links and Support:</h2></legend>
<h4><a href=https://github.com/AlessandroAU/ExpressLRS>GitHub Repository</a><h4>
<h4><a href=https://discord.gg/dS6ReFY>Discord Chat</a><h4>
</div>
<br>
<div align=left>
<fieldset>
Here you can update module firmware,
be careful to upload the correct file otherwise a bad flash may occur. If this happens you will need to reflash via USB/Serial.
<br><br>
<legend><h2>Firmware Update:</h2></legend>
<form method=POST action=/update enctype=multipart/form-data> <input type=file name=update> <input type=submit value=Update></form>
</form>
<br><br>
</fieldset>
</div>
</div>
</div>
</div>
</section>
</body>
</html>)rawliteral";
static const char PROGMEM CSS[] = R"rawliteral(a,abbr,acronym,address,applet,article,aside,audio,b,big,blockquote,body,canvas,caption,center,cite,code,dd,del,details,dfn,div,dl,dt,em,embed,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,header,hgroup,html,i,iframe,img,ins,kbd,label,legend,li,mark,menu,nav,object,ol,output,p,pre,q,ruby,s,samp,section,small,span,strike,strong,sub,summary,sup,table,tbody,td,tfoot,th,thead,time,tr,tt,u,ul,var,video{margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:baseline}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}body{line-height:1}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:after,blockquote:before,q:after,q:before{content:'';content:none}table{border-collapse:collapse;border-spacing:0}body{-webkit-text-size-adjust:none}*,:after,:before{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.container{margin-left:auto;margin-right:auto}.container.\31 25\25{width:100%;max-width:75em;min-width:60em}.container.\37 5\25{width:45em}.container.\35 0\25{width:30em}.container.\32 5\25{width:15em}.container{width:60em}@media screen and (max-width:1680px){.container.\31 25\25{width:100%;max-width:75em;min-width:60em}.container.\37 5\25{width:45em}.container.\35 0\25{width:30em}.container.\32 5\25{width:15em}.container{width:60em}}@media screen and (max-width:1140px){.container.\31 25\25{width:100%;max-width:112.5%;min-width:90%}.container.\37 5\25{width:67.5%}.container.\35 0\25{width:45%}.container.\32 5\25{width:22.5%}.container{width:90%}}@media screen and (max-width:980px){.container.\31 25\25{width:100%;max-width:125%;min-width:100%}.container.\37 5\25{width:75%}.container.\35 0\25{width:50%}.container.\32 5\25{width:25%}.container{width:100%!important}}@media screen and (max-width:736px){.container.\31 25\25{width:100%;max-width:125%;min-width:100%}.container.\37 5\25{width:75%}.container.\35 0\25{width:50%}.container.\32 5\25{width:25%}.container{width:100%!important}}@media screen and (max-width:480px){.container.\31 25\25{width:100%;max-width:125%;min-width:100%}.container.\37 5\25{width:75%}.container.\35 0\25{width:50%}.container.\32 5\25{width:25%}.container{width:100%!important}}@media screen and (max-width:320px){.container.\31 25\25{width:100%;max-width:125%;min-width:100%}.container.\37 5\25{width:75%}.container.\35 0\25{width:50%}.container.\32 5\25{width:25%}.container{width:100%!important}}th{text-align:left}body{background:#fff}body.is-loading *,body.is-loading :after,body.is-loading :before{-moz-animation:none!important;-webkit-animation:none!important;-ms-animation:none!important;animation:none!important;-moz-transition:none!important;-webkit-transition:none!important;-ms-transition:none!important;transition:none!important}body,input,select,textarea{color:#666;font-family:"Source Sans Pro",Helvetica,sans-serif;font-size:16pt;font-weight:300;line-height:1.65em}a{-moz-transition:color .2s ease-in-out,border-color .2s ease-in-out;-webkit-transition:color .2s ease-in-out,border-color .2s ease-in-out;-ms-transition:color .2s ease-in-out,border-color .2s ease-in-out;transition:color .2s ease-in-out,border-color .2s ease-in-out;border-bottom:dotted 1px #666;color:inherit;text-decoration:none}a:hover{border-bottom-color:transparent!important;color:#6bd4c8}b,strong{color:#555;font-weight:400}em,i{font-style:italic}p{margin:0 0 2em 0}h1,h2,h3,h4,h5,h6{color:#555;line-height:1em;margin:0 0 1em 0}h1 a,h2 a,h3 a,h4 a,h5 a,h6 a{color:inherit;text-decoration:none}h1{font-size:2.25em;line-height:1.35em}h2{font-size:2em;line-height:1.35em}h3{font-size:1.35em;line-height:1.5em}h4{font-size:1.25em;line-height:1.5em}h5{font-size:.9em;line-height:1.5em}h6{font-size:.7em;line-height:1.5em}sub{font-size:.8em;position:relative;top:.5em}sup{font-size:.8em;position:relative;top:-.5em}hr{border:0;border-bottom:solid 1px rgba(144,144,144,.5);margin:2em 0}hr.major{margin:3em 0}blockquote{border-left:solid 4px rgba(144,144,144,.5);font-style:italic;margin:0 0 2em 0;padding:.5em 0 .5em 2em}code{background:rgba(144,144,144,.075);border-radius:4px;border:solid 1px rgba(144,144,144,.5);font-family:"Courier New",monospace;font-size:.9em;margin:0 .25em;padding:.25em .65em}pre{-webkit-overflow-scrolling:touch;font-family:"Courier New",monospace;font-size:.9em;margin:0 0 2em 0}pre code{display:block;line-height:1.75em;padding:1em 1.5em;overflow-x:auto}.align-left{text-align:left}.align-center{text-align:center}.align-right{text-align:right}#header{padding:9em 0 9em 0;background-color:#4686a0;color:rgba(255,255,255,.75);background-attachment:fixed,fixed,fixed;background-image:linear-gradient(45deg,#9dc66b 5%,#4fa49a 30%,#4361c2);background-position:top left,center center,center center;background-size:auto,cover,cover;overflow:hidden;position:relative;text-align:center}#header b,#header h1,#header h2,#header h3,#header h4,#header h5,#header h6,#header strong{color:#fff}@media screen and (max-width:1680px){body,input,select,textarea{font-size:14pt}#header{padding:6em 0 6em 0}}@media screen and (max-width:1140px){body,input,select,textarea{font-size:13pt}h1 br,h2 br,h3 br,h4 br,h5 br,h6 br{display:none}ul.major-icons li{padding:2em}ul.major-icons li .icon{height:8em;line-height:8em;width:8em}.main{padding:4em 0 2em 0}.main.style2{background-attachment:scroll}#header{padding:5em 0 5em 0;background-attachment:scroll}#header br{display:inline}#footer{padding:4em 0 4em 0;background-attachment:scroll}}@media screen and (max-width:980px){ul.major-icons li{padding:2em}ul.major-icons li .icon{height:7em;line-height:7em;width:7em}.main{padding:5em 3em 3em 3em}#header{padding:8em 3em 8em 3em}#footer{padding:5em 3em 5em 3em}#one{text-align:center}#two{text-align:center}}@media screen and (max-width:736px){body,input,select,textarea{font-size:12pt}h1{font-size:1.75em}h2{font-size:1.5em}h3{font-size:1.1em}h4{font-size:1em}ul.major-icons li{padding:1.5em}ul.major-icons li .icon{height:5em;line-height:5em;width:5em}ul.major-icons li .icon:before{font-size:42px}.icon.major{margin:0 0 1em 0}.main{padding:3em 1.5em 1em 1.5em}#header{padding:4em 3em 4em 3em}#header .actions{margin:2em 0 0 0}#footer{padding:3em 1.5em 3em 1.5em}}@media screen and (max-width:480px){ul.actions{margin:0 0 2em 0}ul.actions li{display:block;padding:1em 0 0 0;text-align:center;width:100%}ul.actions li:first-child{padding-top:0}ul.actions li>*{margin:0!important;width:100%}ul.actions li>.icon:before{margin-left:-2em}ul.actions.small li{padding:.5em 0 0 0}ul.actions.small li:first-child{padding-top:0}.main{padding:2em 1.5em .1em 1.5em}#header{padding:4em 2em 4em 2em}#header br{display:none}#footer{padding:2em 1.5em 2em 1.5em}#footer .copyright{margin:1.5em 0 0 0}#footer .copyright li{border:0;display:block;margin:1em 0 0 0;padding:0}#footer .copyright li:first-child{margin-top:0}}@media screen and (max-width:320px){body,html{min-width:320px}.main{padding:2em 1em .1em 1em}#header{padding:3em 1em 3em 1em}#footer{padding:2em 1em 2em 1em}})rawliteral";
static const char PROGMEM GO_BACK[] = R"rawliteral(
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<script>
javascript:history.back();
</script>
</body>
</html>
)rawliteral";
#endif