@@ -5,7 +5,8 @@ PROGMEM const char HTML_HEADERS[] = R"=====(
5
5
< meta charset = "utf-8" >
6
6
< meta http - equiv = "Cache-Control" content = "no-cache, no-store, must-revalidate" />
7
7
< meta name = "viewport" content = "width=device-width,initial-scale=1,user-scalable=no" />
8
- < title > Control Assist < /title >
8
+ < link rel = "shortcut icon" href = "data:" />
9
+ < title > ControlAssist < /title >
9
10
< style >
10
11
html , body {
11
12
margin : 0 ;
@@ -26,7 +27,7 @@ html, body {
26
27
width : 512p x ;
27
28
text - align : center ;
28
29
}
29
- #canvas {
30
+ #canvas {
30
31
background - color : #181818 ;
31
32
}
32
33
#controls {
@@ -52,6 +53,13 @@ html, body {
52
53
.on {
53
54
background - color : #49cb61 ;
54
55
}
56
+ .bottom {
57
+ position : relative ;
58
+ top : 5p x ;
59
+ width : 100 %;
60
+ font - size : x - small ;
61
+ text - align : center ;
62
+ }
55
63
< /style >
56
64
< /head >
57
65
)== == = ";
@@ -61,14 +69,18 @@ PROGMEM const char HTML_BODY[] = R"=====(
61
69
< div id = "container" class = "center" >
62
70
< h3 > ControlAssist Monitor ADC port < /h3 >
63
71
< div id = "controls" >
64
- < button id = "on-off" > Turn On < /button >
72
+ < button id = "on-off" > Turn On < /button >
65
73
< input type = "text" id = "adc_val" value = "0" style = "display:none;" >
66
74
< label for = "speed" > Delay : < span id = "speedValue" > 40 < /span > ms < /label >
67
75
< input id = "speed" type = "range" min = "0" max = "1500" step = "1" value = "40" >
68
76
< label for = "gain" > Input Gain : < span id = "gainValue" > 1 < /span > < /label >
69
77
< input id = "gain" type = "range" min = "0" max = "5" step = "0.05" value = "1" >
70
78
< /div >
71
79
< canvas id = "canvas" > < /canvas >
80
+ < div class = "bottom" >
81
+ < div id = "conLed" class = "center" > < /div >
82
+ < span id = "wsStatus" style = "display: none1;" > < /span >
83
+ < /div >
72
84
< /div >
73
85
< /body >
74
86
)== == = ";
@@ -86,7 +98,7 @@ const canvas = document.getElementById("canvas"),
86
98
adc_val = document .getElementById ("adc_val" ),
87
99
dataArray = new Uint16Array (datBitCount );
88
100
89
- speed = speedSlider .value ;
101
+ speed = speedSlider .value ;
90
102
canvas .width = window .innerWidth ;
91
103
canvas .height = window .innerHeight ;
92
104
pixelRatio = window .devicePixelRatio ;
@@ -108,7 +120,7 @@ segmentWidth = canvas.width / datBitCount;
108
120
powerBtn .addEventListener ("click" , ( ) = > {
109
121
if (isPlaying ) {
110
122
powerBtn .innerHTML = "Turn On" ;
111
- } else {
123
+ } else {
112
124
powerBtn .innerHTML = "Turn Off" ;
113
125
}
114
126
powerBtn .classList .toggle ("on" );
@@ -123,11 +135,11 @@ powerBtn.addEventListener("wsChange", (event) => {
123
135
if (isPlaying ) {
124
136
powerBtn .innerHTML = "Turn Off" ;
125
137
powerBtn .classList .add ("on" );
126
- } else {
138
+ } else {
127
139
powerBtn .innerHTML = "Turn On" ;
128
140
powerBtn .classList .remove ("on" );
129
141
}
130
- if (isPlaying ) draw ();
142
+ if (isPlaying ) draw ();
131
143
});
132
144
133
145
// Speed slider handlers
@@ -154,7 +166,7 @@ adc_val.addEventListener("wsChange", (event) => {
154
166
return false;
155
167
});
156
168
157
- const shiftRight = (collection , value ) = > {
169
+ const shiftRight = (collection , value ) = > {
158
170
collection .set (collection .subarray (0 , -1 ), 1 )
159
171
collection .fill (value , 0 , 1 )
160
172
return collection ;
@@ -165,14 +177,14 @@ const scale = (number, [inMin, inMax], [outMin, outMax]) => {
165
177
}
166
178
167
179
const draw = () = > {
168
- if (dbg ) console .time ("Draw" );
180
+ if (dbg ) console .time ("Draw" );
169
181
c .fillRect (0 , 0 , canvas .width , canvas .height );
170
182
c .beginPath ();
171
183
c .moveTo (-100 , canvas .height / 2 );
172
-
184
+
173
185
if (isPlaying ) {
174
186
for (let i = 0 ; i < datBitCount ; i += 1 ) {
175
- let x = i * segmentWidth ;
187
+ let x = i * segmentWidth ;
176
188
let y = canvas .height - scale (dataArray [i ],[0 ,4095 ], [0 ,canvas .height ])
177
189
c .lineTo (x , y );
178
190
}
0 commit comments