Skip to content

Commit 9373e8d

Browse files
committed
v0.9.174
1 parent 629cdef commit 9373e8d

File tree

12 files changed

+325
-9
lines changed

12 files changed

+325
-9
lines changed

README.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -226,6 +226,11 @@ Work is in progress...
226226

227227
---
228228
## Version history
229+
#### v0.9.174
230+
- added forced shutdown of smartstart when WebSocket freezes on problem stations
231+
- added bitrate icon when playing files from SD card
232+
- fix html markup errors
233+
229234
#### v0.9.161
230235
- fixed errors 403 Account already in use, 401 Authorization required
231236
- fixed bitrate icon overflow bug

yoRadio/data/www/index.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<!DOCTYPE html>
22
<head>
33
<meta charset="UTF-8">
4-
<meta name="viewport" content="width=device-width, minimum-scale=0.25">
4+
<meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=0.25">
55
<meta name="apple-mobile-web-app-capable" content="yes">
66
<meta name="apple-mobile-web-app-status-bar-style" content="default">
77
<link rel="apple-touch-icon" type="image/png" href="elogo.png">

yoRadio/data/www/settings.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<!DOCTYPE html>
22
<head>
33
<meta charset="UTF-8">
4-
<meta name="viewport" content="width=device-width, minimum-scale=0.25">
4+
<meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=0.25">
55
<meta name="apple-mobile-web-app-capable" content="yes">
66
<meta name="apple-mobile-web-app-status-bar-style" content="default">
77
<link rel="apple-touch-icon" type="image/png" href="elogo.png">

yoRadio/data/www/style.css.gz

5 Bytes
Binary file not shown.

yoRadio/data/www/update.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<!DOCTYPE html>
22
<head>
33
<meta charset="UTF-8">
4-
<meta name="viewport" content="width=device-width, minimum-scale=0.25">
4+
<meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=0.25">
55
<meta name="apple-mobile-web-app-capable" content="yes">
66
<meta name="apple-mobile-web-app-status-bar-style" content="default">
77
<link rel="apple-touch-icon" type="image/png" href="elogo.png">

yoRadio/fonts/glcdfont_EN.c

Lines changed: 287 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,287 @@
1+
// This is the 'classic' fixed-space bitmap font for Adafruit_GFX since 1.0.
2+
// See gfxfont.h for newer custom bitmap font info.
3+
4+
#ifndef FONT5X7_H
5+
#define FONT5X7_H
6+
7+
#ifdef __AVR__
8+
#include <avr/io.h>
9+
#include <avr/pgmspace.h>
10+
#elif defined(ESP8266)
11+
#include <pgmspace.h>
12+
#elif defined(__IMXRT1052__) || defined(__IMXRT1062__)
13+
// PROGMEM is defefind for T4 to place data in specific memory section
14+
#undef PROGMEM
15+
#define PROGMEM
16+
#else
17+
#define PROGMEM
18+
#endif
19+
20+
// Standard ASCII 5x7 font
21+
22+
static const unsigned char font[] PROGMEM = {
23+
0x00, 0x00, 0x00, 0x00, 0x00,
24+
0x20, 0x20, 0x00, 0x10, 0x10, // \001 rssi 00__
25+
0x08, 0x08, 0x00, 0x04, 0x04, // \002 rssi __00
26+
0x60, 0x60, 0x00, 0x10, 0x10, // \003 rssi 10__
27+
0x60, 0x60, 0x00, 0x70, 0x70, // \004 rssi 11__
28+
0x78, 0x78, 0x00, 0x04, 0x04, // \005 rssi __10
29+
0x78, 0x78, 0x00, 0x7C, 0x7C, // \006 rssi __11
30+
0x00, 0x1C, 0x1C, 0x1C, 0x00, // \007 weather div
31+
0x7A, 0x00, 0x7E, 0x12, 0x1E, // \010 ip
32+
0x06, 0x09, 0x09, 0x06, 0x00, // \011 degree
33+
0xFF, 0xE7, 0xDB, 0xE7, 0xFF,
34+
0x30, 0x48, 0x3A, 0x06, 0x0E,
35+
0x26, 0x29, 0x79, 0x29, 0x26,
36+
0x40, 0x7F, 0x05, 0x05, 0x07,
37+
0x60, 0x7F, 0x05, 0x35, 0x3F, // \016 note
38+
0x5A, 0x3C, 0xE7, 0x3C, 0x5A,
39+
0x00, 0x7F, 0x3E, 0x1C, 0x08, // \020 next/play
40+
0x08, 0x1C, 0x3E, 0x7F, 0x00, // \021 prev
41+
0x14, 0x22, 0x7F, 0x22, 0x14,
42+
0x00, 0x00, 0x18, 0x3C, 0x7E, // \023 speaker
43+
0x18, 0x00, 0x00, 0x00, 0x00, // \024 25%
44+
0x18, 0x42, 0x3C, 0x00, 0x00, // \025 50%
45+
0x18, 0x42, 0x3C, 0x42, 0x3C, // \026 100%
46+
0x94, 0xA2, 0xFF, 0xA2, 0x94,
47+
0x08, 0x04, 0x7E, 0x04, 0x08,
48+
0x10, 0x20, 0x7E, 0x20, 0x10,
49+
0x08, 0x08, 0x2A, 0x1C, 0x08,
50+
0x08, 0x1C, 0x2A, 0x08, 0x08,
51+
0x7F, 0x7F, 0x00, 0x7F, 0x7F, // \034 pause
52+
0x55, 0x00, 0x55, 0x55, 0x55, // \035 list
53+
0x30, 0x38, 0x3E, 0x38, 0x30,
54+
0x06, 0x0E, 0x3E, 0x0E, 0x06,
55+
0x00, 0x00, 0x00, 0x00, 0x00,
56+
0x00, 0x00, 0x5F, 0x00, 0x00,
57+
0x00, 0x07, 0x00, 0x07, 0x00,
58+
0x14, 0x7F, 0x14, 0x7F, 0x14,
59+
0x24, 0x2A, 0x7F, 0x2A, 0x12,
60+
0x23, 0x13, 0x08, 0x64, 0x62,
61+
0x36, 0x49, 0x56, 0x20, 0x50,
62+
0x00, 0x08, 0x07, 0x03, 0x00,
63+
0x00, 0x1C, 0x22, 0x41, 0x00,
64+
0x00, 0x41, 0x22, 0x1C, 0x00,
65+
0x2A, 0x1C, 0x7F, 0x1C, 0x2A,
66+
0x08, 0x08, 0x3E, 0x08, 0x08,
67+
0x00, 0x80, 0x70, 0x30, 0x00,
68+
0x08, 0x08, 0x08, 0x08, 0x08,
69+
0x00, 0x00, 0x60, 0x60, 0x00,
70+
0x20, 0x10, 0x08, 0x04, 0x02,
71+
0x3E, 0x51, 0x49, 0x45, 0x3E,
72+
0x00, 0x42, 0x7F, 0x40, 0x00,
73+
0x72, 0x49, 0x49, 0x49, 0x46,
74+
0x21, 0x41, 0x49, 0x4D, 0x33,
75+
0x18, 0x14, 0x12, 0x7F, 0x10,
76+
0x27, 0x45, 0x45, 0x45, 0x39,
77+
0x3C, 0x4A, 0x49, 0x49, 0x31,
78+
0x41, 0x21, 0x11, 0x09, 0x07,
79+
0x36, 0x49, 0x49, 0x49, 0x36,
80+
0x46, 0x49, 0x49, 0x29, 0x1E,
81+
0x00, 0x00, 0x14, 0x00, 0x00,
82+
0x00, 0x40, 0x34, 0x00, 0x00,
83+
0x00, 0x08, 0x14, 0x22, 0x41,
84+
0x14, 0x14, 0x14, 0x14, 0x14,
85+
0x00, 0x41, 0x22, 0x14, 0x08,
86+
0x02, 0x01, 0x59, 0x09, 0x06,
87+
0x3E, 0x41, 0x5D, 0x59, 0x4E,
88+
0x7C, 0x12, 0x11, 0x12, 0x7C,
89+
0x7F, 0x49, 0x49, 0x49, 0x36,
90+
0x3E, 0x41, 0x41, 0x41, 0x22,
91+
0x7F, 0x41, 0x41, 0x41, 0x3E,
92+
0x7F, 0x49, 0x49, 0x49, 0x41,
93+
0x7F, 0x09, 0x09, 0x09, 0x01,
94+
0x3E, 0x41, 0x41, 0x51, 0x73,
95+
0x7F, 0x08, 0x08, 0x08, 0x7F,
96+
0x00, 0x41, 0x7F, 0x41, 0x00,
97+
0x20, 0x40, 0x41, 0x3F, 0x01,
98+
0x7F, 0x08, 0x14, 0x22, 0x41,
99+
0x7F, 0x40, 0x40, 0x40, 0x40,
100+
0x7F, 0x02, 0x1C, 0x02, 0x7F,
101+
0x7F, 0x04, 0x08, 0x10, 0x7F,
102+
0x3E, 0x41, 0x41, 0x41, 0x3E,
103+
0x7F, 0x09, 0x09, 0x09, 0x06,
104+
0x3E, 0x41, 0x51, 0x21, 0x5E,
105+
0x7F, 0x09, 0x19, 0x29, 0x46,
106+
0x26, 0x49, 0x49, 0x49, 0x32,
107+
0x03, 0x01, 0x7F, 0x01, 0x03,
108+
0x3F, 0x40, 0x40, 0x40, 0x3F,
109+
0x1F, 0x20, 0x40, 0x20, 0x1F,
110+
0x3F, 0x40, 0x38, 0x40, 0x3F,
111+
0x63, 0x14, 0x08, 0x14, 0x63,
112+
0x03, 0x04, 0x78, 0x04, 0x03,
113+
0x61, 0x59, 0x49, 0x4D, 0x43,
114+
0x00, 0x7F, 0x41, 0x41, 0x41,
115+
0x02, 0x04, 0x08, 0x10, 0x20,
116+
0x00, 0x41, 0x41, 0x41, 0x7F,
117+
0x04, 0x02, 0x01, 0x02, 0x04,
118+
0x40, 0x40, 0x40, 0x40, 0x40,
119+
0x00, 0x03, 0x07, 0x08, 0x00,
120+
0x20, 0x54, 0x54, 0x78, 0x40,
121+
0x7F, 0x28, 0x44, 0x44, 0x38,
122+
0x38, 0x44, 0x44, 0x44, 0x28,
123+
0x38, 0x44, 0x44, 0x28, 0x7F,
124+
0x38, 0x54, 0x54, 0x54, 0x18,
125+
0x00, 0x08, 0x7E, 0x09, 0x02,
126+
0x18, 0xA4, 0xA4, 0x9C, 0x78,
127+
0x7F, 0x08, 0x04, 0x04, 0x78,
128+
0x00, 0x44, 0x7D, 0x40, 0x00,
129+
0x20, 0x40, 0x40, 0x3D, 0x00,
130+
0x7F, 0x10, 0x28, 0x44, 0x00,
131+
0x00, 0x41, 0x7F, 0x40, 0x00,
132+
0x7C, 0x04, 0x78, 0x04, 0x78,
133+
0x7C, 0x08, 0x04, 0x04, 0x78,
134+
0x38, 0x44, 0x44, 0x44, 0x38,
135+
0xFC, 0x18, 0x24, 0x24, 0x18,
136+
0x18, 0x24, 0x24, 0x18, 0xFC,
137+
0x7C, 0x08, 0x04, 0x04, 0x08,
138+
0x48, 0x54, 0x54, 0x54, 0x24,
139+
0x04, 0x04, 0x3F, 0x44, 0x24,
140+
0x3C, 0x40, 0x40, 0x20, 0x7C,
141+
0x1C, 0x20, 0x40, 0x20, 0x1C,
142+
0x3C, 0x40, 0x30, 0x40, 0x3C,
143+
0x44, 0x28, 0x10, 0x28, 0x44,
144+
0x4C, 0x90, 0x90, 0x90, 0x7C,
145+
0x44, 0x64, 0x54, 0x4C, 0x44,
146+
0x00, 0x08, 0x36, 0x41, 0x00,
147+
0x00, 0x00, 0x77, 0x00, 0x00,
148+
0x00, 0x41, 0x36, 0x08, 0x00,
149+
0x02, 0x01, 0x02, 0x04, 0x02,
150+
0x3C, 0x26, 0x23, 0x26, 0x3C,
151+
0x1E, 0xA1, 0xA1, 0x61, 0x12,
152+
0x3A, 0x40, 0x40, 0x20, 0x7A,
153+
0x38, 0x54, 0x54, 0x55, 0x59,
154+
0x21, 0x55, 0x55, 0x79, 0x41,
155+
0x22, 0x54, 0x54, 0x78, 0x42, // a-umlaut
156+
0x21, 0x55, 0x54, 0x78, 0x40,
157+
0x20, 0x54, 0x55, 0x79, 0x40,
158+
0x0C, 0x1E, 0x52, 0x72, 0x12,
159+
0x39, 0x55, 0x55, 0x55, 0x59,
160+
0x39, 0x54, 0x54, 0x54, 0x59,
161+
0x39, 0x55, 0x54, 0x54, 0x58,
162+
0x00, 0x00, 0x45, 0x7C, 0x41,
163+
0x00, 0x02, 0x45, 0x7D, 0x42,
164+
0x00, 0x01, 0x45, 0x7C, 0x40,
165+
0x7D, 0x12, 0x11, 0x12, 0x7D, // A-umlaut
166+
0xF0, 0x28, 0x25, 0x28, 0xF0,
167+
0x7C, 0x54, 0x55, 0x45, 0x00,
168+
0x20, 0x54, 0x54, 0x7C, 0x54,
169+
0x7C, 0x0A, 0x09, 0x7F, 0x49,
170+
0x32, 0x49, 0x49, 0x49, 0x32,
171+
0x3A, 0x44, 0x44, 0x44, 0x3A, // o-umlaut
172+
0x32, 0x4A, 0x48, 0x48, 0x30,
173+
0x3A, 0x41, 0x41, 0x21, 0x7A,
174+
0x3A, 0x42, 0x40, 0x20, 0x78,
175+
0x00, 0x9D, 0xA0, 0xA0, 0x7D,
176+
0x3D, 0x42, 0x42, 0x42, 0x3D, // O-umlaut
177+
0x3D, 0x40, 0x40, 0x40, 0x3D,
178+
0x3C, 0x24, 0xFF, 0x24, 0x24,
179+
0x48, 0x7E, 0x49, 0x43, 0x66,
180+
0x2B, 0x2F, 0xFC, 0x2F, 0x2B,
181+
0xFF, 0x09, 0x29, 0xF6, 0x20,
182+
0xC0, 0x88, 0x7E, 0x09, 0x03,
183+
0x20, 0x54, 0x54, 0x79, 0x41,
184+
0x00, 0x00, 0x44, 0x7D, 0x41,
185+
0x30, 0x48, 0x48, 0x4A, 0x32,
186+
0x38, 0x40, 0x40, 0x22, 0x7A,
187+
0x00, 0x7A, 0x0A, 0x0A, 0x72,
188+
0x7D, 0x0D, 0x19, 0x31, 0x7D,
189+
0x26, 0x29, 0x29, 0x2F, 0x28,
190+
0x26, 0x29, 0x29, 0x29, 0x26,
191+
0x30, 0x48, 0x4D, 0x40, 0x20,
192+
0x38, 0x08, 0x08, 0x08, 0x08,
193+
0x08, 0x08, 0x08, 0x08, 0x38,
194+
0x2F, 0x10, 0xC8, 0xAC, 0xBA,
195+
0x2F, 0x10, 0x28, 0x34, 0xFA,
196+
0x00, 0x00, 0x7B, 0x00, 0x00,
197+
0x08, 0x14, 0x2A, 0x14, 0x22,
198+
0x22, 0x14, 0x2A, 0x14, 0x08,
199+
0x55, 0x00, 0x55, 0x00, 0x55, // #176 (25% block) missing in old
200+
// code
201+
0xAA, 0x55, 0xAA, 0x55, 0xAA, // 50% block
202+
0xFF, 0x55, 0xFF, 0x55, 0xFF, // 75% block
203+
0x00, 0x00, 0x00, 0xFF, 0x00,
204+
0x10, 0x10, 0x10, 0xFF, 0x00,
205+
0x14, 0x14, 0x14, 0xFF, 0x00,
206+
0x10, 0x10, 0xFF, 0x00, 0xFF,
207+
0x10, 0x10, 0xF0, 0x10, 0xF0,
208+
0x14, 0x14, 0x14, 0xFC, 0x00,
209+
0x14, 0x14, 0xF7, 0x00, 0xFF,
210+
0x00, 0x00, 0xFF, 0x00, 0xFF,
211+
0x14, 0x14, 0xF4, 0x04, 0xFC,
212+
0x14, 0x14, 0x17, 0x10, 0x1F,
213+
0x10, 0x10, 0x1F, 0x10, 0x1F,
214+
0x14, 0x14, 0x14, 0x1F, 0x00,
215+
0x10, 0x10, 0x10, 0xF0, 0x00,
216+
0x00, 0x00, 0x00, 0x1F, 0x10,
217+
0x10, 0x10, 0x10, 0x1F, 0x10,
218+
0x10, 0x10, 0x10, 0xF0, 0x10,
219+
0x00, 0x00, 0x00, 0xFF, 0x10,
220+
0x10, 0x10, 0x10, 0x10, 0x10,
221+
0x10, 0x10, 0x10, 0xFF, 0x10,
222+
0x00, 0x00, 0x00, 0xFF, 0x14,
223+
0x00, 0x00, 0xFF, 0x00, 0xFF,
224+
0x00, 0x00, 0x1F, 0x10, 0x17,
225+
0x00, 0x00, 0xFC, 0x04, 0xF4,
226+
0x14, 0x14, 0x17, 0x10, 0x17,
227+
0x14, 0x14, 0xF4, 0x04, 0xF4,
228+
0x00, 0x00, 0xFF, 0x00, 0xF7,
229+
0x14, 0x14, 0x14, 0x14, 0x14,
230+
0x14, 0x14, 0xF7, 0x00, 0xF7,
231+
0x14, 0x14, 0x14, 0x17, 0x14,
232+
0x10, 0x10, 0x1F, 0x10, 0x1F,
233+
0x14, 0x14, 0x14, 0xF4, 0x14,
234+
0x10, 0x10, 0xF0, 0x10, 0xF0,
235+
0x00, 0x00, 0x1F, 0x10, 0x1F,
236+
0x00, 0x00, 0x00, 0x1F, 0x14,
237+
0x00, 0x00, 0x00, 0xFC, 0x14,
238+
0x00, 0x00, 0xF0, 0x10, 0xF0,
239+
0x10, 0x10, 0xFF, 0x10, 0xFF,
240+
0x14, 0x14, 0x14, 0xFF, 0x14,
241+
0x10, 0x10, 0x10, 0x1F, 0x00,
242+
0x00, 0x00, 0x00, 0xF0, 0x10,
243+
0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
244+
0xF0, 0xF0, 0xF0, 0xF0, 0xF0,
245+
0xFF, 0xFF, 0xFF, 0x00, 0x00,
246+
0x00, 0x00, 0x00, 0xFF, 0xFF,
247+
0x0F, 0x0F, 0x0F, 0x0F, 0x0F,
248+
0x38, 0x44, 0x44, 0x38, 0x44,
249+
0xFC, 0x4A, 0x4A, 0x4A, 0x34, // sharp-s or beta
250+
0x7E, 0x02, 0x02, 0x06, 0x06,
251+
0x02, 0x7E, 0x02, 0x7E, 0x02,
252+
0x63, 0x55, 0x49, 0x41, 0x63,
253+
0x38, 0x44, 0x44, 0x3C, 0x04,
254+
0x40, 0x7E, 0x20, 0x1E, 0x20,
255+
0x06, 0x02, 0x7E, 0x02, 0x02,
256+
0x99, 0xA5, 0xE7, 0xA5, 0x99,
257+
0x1C, 0x2A, 0x49, 0x2A, 0x1C,
258+
0x4C, 0x72, 0x01, 0x72, 0x4C,
259+
0x30, 0x4A, 0x4D, 0x4D, 0x30,
260+
0x30, 0x48, 0x78, 0x48, 0x30,
261+
0xBC, 0x62, 0x5A, 0x46, 0x3D,
262+
0x3E, 0x49, 0x49, 0x49, 0x00,
263+
0x7E, 0x01, 0x01, 0x01, 0x7E,
264+
0x2A, 0x2A, 0x2A, 0x2A, 0x2A,
265+
0x44, 0x44, 0x5F, 0x44, 0x44,
266+
0x40, 0x51, 0x4A, 0x44, 0x40,
267+
0x40, 0x44, 0x4A, 0x51, 0x40,
268+
0x00, 0x00, 0xFF, 0x01, 0x03,
269+
0xE0, 0x80, 0xFF, 0x00, 0x00,
270+
0x08, 0x08, 0x6B, 0x6B, 0x08,
271+
0x36, 0x12, 0x36, 0x24, 0x36,
272+
0x06, 0x0F, 0x09, 0x0F, 0x06,
273+
0x00, 0x00, 0x18, 0x18, 0x00,
274+
0x00, 0x00, 0x10, 0x10, 0x00,
275+
0x30, 0x40, 0xFF, 0x01, 0x01,
276+
0x00, 0x1F, 0x01, 0x01, 0x1E,
277+
0x00, 0x19, 0x1D, 0x17, 0x12,
278+
0x00, 0x3C, 0x3C, 0x3C, 0x3C,
279+
0x00, 0x00, 0x00, 0x00, 0x00 // #255 NBSP
280+
};
281+
282+
// allow clean compilation with [-Wunused-const-variable=] and [-Wall]
283+
static inline void avoid_unused_const_variable_compiler_warning(void) {
284+
(void)font;
285+
}
286+
287+
#endif // FONT5X7_H

yoRadio/src/audioI2S/Audio.cpp

Lines changed: 20 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -724,11 +724,26 @@ cardLock(false);
724724
afn[i] = toLowerCase(afn[i]);
725725
}
726726

727-
if(endsWith(afn, ".mp3")) m_codec = CODEC_MP3; // m_codec is by default CODEC_NONE
728-
if(endsWith(afn, ".m4a")) m_codec = CODEC_M4A;
729-
if(endsWith(afn, ".aac")) m_codec = CODEC_AAC;
730-
if(endsWith(afn, ".wav")) m_codec = CODEC_WAV;
731-
if(endsWith(afn, ".flac")) m_codec = CODEC_FLAC;
727+
if(endsWith(afn, ".mp3")) {
728+
m_codec = CODEC_MP3; // m_codec is by default CODEC_NONE
729+
if(audio_info) audio_info("format is mp3");
730+
}
731+
if(endsWith(afn, ".m4a")) {
732+
m_codec = CODEC_M4A;
733+
if(audio_info) audio_info("format is aac");
734+
}
735+
if(endsWith(afn, ".aac")) {
736+
m_codec = CODEC_AAC;
737+
if(audio_info) audio_info("format is aac");
738+
}
739+
if(endsWith(afn, ".wav")) {
740+
m_codec = CODEC_WAV;
741+
if(audio_info) audio_info("format is wav");
742+
}
743+
if(endsWith(afn, ".flac")) {
744+
m_codec = CODEC_FLAC;
745+
if(audio_info) audio_info("format is flac");
746+
}
732747

733748
if(m_codec == CODEC_NONE) {
734749
AUDIO_INFO("The %s format is not supported", afn + dotPos);

0 commit comments

Comments
 (0)