Skip to content

Commit 19fede3

Browse files
committed
v0.7.017
1 parent 2aa2fe3 commit 19fede3

File tree

4 files changed

+18
-6
lines changed

4 files changed

+18
-6
lines changed

README.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -296,6 +296,10 @@ Work is in progress...
296296

297297
---
298298
## Version history
299+
#### v0.7.017
300+
- fix initialization of some vs1053b green boards
301+
- fix VU initialization on vs1053b boards
302+
299303
#### v0.7.010
300304
- fixed choppy of sound when volume adjustment
301305
- fixed initialisation of Nextion displays

yoRadio/options.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
#ifndef options_h
22
#define options_h
33

4-
#define VERSION "0.7.010"
4+
#define VERSION "0.7.017"
55

66
/*******************************************************
77
DO NOT EDIT THIS FILE.

yoRadio/src/audioVS1053/audioVS1053Ex.cpp

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -314,7 +314,7 @@ void Audio::begin(){
314314
mutex_pl = xSemaphoreCreateMutex();
315315
DCS_HIGH();
316316
CS_HIGH();
317-
delay(100);
317+
delay(200);
318318

319319
// Init SPI in slow mode (0.2 MHz)
320320
VS1053_SPI = SPISettings(200000, MSBFIRST, SPI_MODE0);
@@ -331,14 +331,14 @@ void Audio::begin(){
331331
write_register(SCI_AUDATA, 44100 + 1); // 44.1kHz + stereo
332332
// The next clocksetting allows SPI clocking at 5 MHz, 4 MHz is safe then.
333333
write_register(SCI_CLOCKF, 6 << 12); // Normal clock settings multiplyer 3.0=12.2 MHz
334-
//set vu meter
335-
setVUmeter();
336334
//SPI Clock to 4 MHz. Now you can set high speed SPI clock.
337335
VS1053_SPI=SPISettings(6700000, MSBFIRST, SPI_MODE0); // SPIDIV 12 -> 80/12=6.66 MHz
338336
write_register(SCI_MODE, _BV (SM_SDINEW) | _BV(SM_LINE1));
339337
//testComm("Fast SPI, Testing VS1053 read/write registers again... \n");
340338
delay(10);
341339
await_data_request();
340+
//set vu meter
341+
setVUmeter();
342342
m_endFillByte=wram_read(0x1E06) & 0xFF;
343343
// sprintf(chbuf, "endFillByte is %X", endFillByte);
344344
// if(audio_info) audio_info(chbuf);
@@ -467,7 +467,7 @@ void Audio::stopSong()
467467
//---------------------------------------------------------------------------------------------------------------------
468468
void Audio::softReset()
469469
{
470-
if(VS1053_RST>0) return; // Hard resrt present
470+
// if(VS1053_RST>0) return; // Hard resrt present
471471
write_register(SCI_MODE, _BV (SM_SDINEW) | _BV(SM_RESET));
472472
delay(10);
473473
await_data_request();
@@ -1571,6 +1571,12 @@ void Audio::setDefaults(){
15711571
void Audio::setVUmeter() {
15721572
// if(!ENABLE_VU_METER) return;
15731573
uint16_t MP3Status = read_register(SCI_STATUS);
1574+
if(MP3Status==0) {
1575+
Serial.println("VS1053 Error: Unable to write SCI_STATUS");
1576+
_vuInitalized = false;
1577+
return;
1578+
}
1579+
_vuInitalized = true;
15741580
write_register(SCI_STATUS, MP3Status | _BV(9));
15751581
}
15761582

@@ -1588,6 +1594,7 @@ void Audio::setVUmeter() {
15881594
*/
15891595
void Audio::getVUlevel() {
15901596
// if(!ENABLE_VU_METER) return;
1597+
if(!_vuInitalized) return;
15911598
int16_t reg = read_register(SCI_AICTRL3);
15921599
uint8_t rl = map((uint8_t)reg, 85, 92, 0, 255);
15931600
uint8_t rr = map((uint8_t)(reg >> 8), 85, 92, 0, 255);

yoRadio/src/audioVS1053/audioVS1053Ex.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -197,7 +197,8 @@ class Audio : private AudioBuffer{
197197
bool m_f_stream_ready=false; // Set after connecttohost and first streamdata are available
198198
bool m_f_unsync = false;
199199
bool m_f_exthdr = false; // ID3 extended header
200-
200+
bool _vuInitalized;
201+
201202
const char volumetable[22]={ 0,50,60,65,70,75,80,82,84,86,
202203
88,90,91,92,93,94,95,96,97,98,99,100}; //22 elements
203204
protected:

0 commit comments

Comments
 (0)