From d611d44eee172da0cd17456e6fdf4cb803be8891 Mon Sep 17 00:00:00 2001 From: e2002 Date: Wed, 28 Dec 2022 13:06:29 +0300 Subject: [PATCH] vc_sdfile_current_time --- yoRadio/data/www/script.js.gz | Bin 5555 -> 5580 bytes yoRadio/src/audioI2S/Audio.cpp | 2 +- yoRadio/src/audioVS1053/audioVS1053Ex.cpp | 67 +++++++++++++----- yoRadio/src/audioVS1053/audioVS1053Ex.h | 3 + yoRadio/src/core/options.h | 4 +- .../src/displays/conf/displayST7735_144conf.h | 2 +- .../displays/conf/displayST7735_blackconf.h | 4 +- .../displays/conf/displayST7735_miniconf.h | 4 +- 8 files changed, 60 insertions(+), 26 deletions(-) diff --git a/yoRadio/data/www/script.js.gz b/yoRadio/data/www/script.js.gz index dd48ad3e036a24d5b7ce967951ee77ea5bc9eb7f..e12541b2e69e7c612ca6b18fc4234145fb415cd3 100644 GIT binary patch literal 5580 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 0) bytesDecoded = res; // else{ // error, skip header - if(audio_progress) audio_progress(0, getFileSize()); + m_audioDataSize = getFileSize(); + if(audio_progress) audio_progress(0, m_audioDataSize); m_controlCounter = 100; eofHeader = true; // } @@ -694,7 +696,8 @@ void Audio::processLocalFile() { // if(res >= 0) bytesDecoded = res; // else{ // error, skip header // stopSong(); - if(audio_progress) audio_progress(0, getFileSize()); + m_audioDataSize = getFileSize(); + if(audio_progress) audio_progress(0, m_audioDataSize); m_controlCounter = 100; eofHeader = true; // } @@ -1632,6 +1635,8 @@ void Audio::setDefaults(){ m_streamType = ST_NONE; m_codec = CODEC_NONE; m_playlistFormat = FORMAT_NONE; + m_localBitrateSend = false; + m_audioFileDuration = 0; } //------------------------------------------------------------------------------ /** @@ -2485,23 +2490,49 @@ bool Audio::setFilePos(uint32_t pos){ return s; } uint32_t Audio::getAudioFileDuration(){ - return 0; //TODO + if(!audiofile) return 0; + return m_audioFileDuration; } + +const uint16_t l3id012[16] = {0, 8, 16, 24, 32, 40, 48, 56, 64, 80, 96, 112, 128, 144, 160, 0}; +const uint16_t l3id3[16] = {0, 32, 40, 48, 56, 64, 80, 96, 112, 128, 160, 192, 224, 256, 320, 0}; +char brbuf[32]; uint32_t Audio::getAudioCurrentTime(){ - return 0; //TODO - uint16_t MP3Status; - - MP3Status = read_register(SCI_HDAT1); - //Serial.print("SCI_HDAT1\t"); Serial.println(MP3Status, BIN); - Serial.print("LAYER\t"); Serial.println(MP3Status>>1 & 0b11); - Serial.print("ID\t"); Serial.println(MP3Status>>3 & 0b11); - //HDAT0[15:12] bitrate https://cdn-shop.adafruit.com/datasheets/vs1053.pdf - - MP3Status = read_register(SCI_HDAT0); - //Serial.print("SCI_HDAT0\t"); Serial.println(MP3Status, BIN); - Serial.print("BITRATE\t"); Serial.println(MP3Status>>12); - - return 0; //TODO + uint16_t SCIStatus; + uint32_t prev_bitrate = m_avr_bitrate; + if(m_codec == CODEC_MP3){ + SCIStatus=read_register(SCI_HDAT1); + uint8_t layer = SCIStatus>>1 & 0b11; + uint8_t id = SCIStatus>>3 & 0b11; + SCIStatus = read_register(SCI_HDAT0); + if(layer==1){ //layer3 + if(id==3){ + m_avr_bitrate = l3id3[SCIStatus>>12] * 1000; + }else{ + m_avr_bitrate = l3id012[SCIStatus>>12] * 1000; + } + m_localBitrateSend = prev_bitrate==m_avr_bitrate; + if(m_avr_bitrate==0) return 0; + sprintf(brbuf, "%d", m_avr_bitrate); + if(audio_bitrate && !m_localBitrateSend) audio_bitrate(brbuf); + m_localBitrateSend = true; + m_audioFileDuration = 8 * ((float)m_audioDataSize / (m_avr_bitrate)); + return 8 * ((float)getFilePos() / (m_avr_bitrate)); + } + return 0; + } + if(m_codec == CODEC_AAC || m_codec == CODEC_FLAC || m_codec == CODEC_WAV || m_codec == CODEC_M4A){ + SCIStatus=read_register(SCI_HDAT0); + m_avr_bitrate = SCIStatus * 8; + m_localBitrateSend = prev_bitrate==m_avr_bitrate; + if(m_avr_bitrate==0) return 0; + sprintf(brbuf, "%d", m_avr_bitrate); + if(audio_bitrate && !m_localBitrateSend) audio_bitrate(brbuf); + m_localBitrateSend = true; + m_audioFileDuration = 8 * ((float)m_audioDataSize / (m_avr_bitrate)); + return 8 * ((float)getFilePos() / (m_avr_bitrate)); + } + return 0; } //--------------------------------------------------------------------------------------------------------------------- uint32_t Audio::getAudioDataStartPos() { diff --git a/yoRadio/src/audioVS1053/audioVS1053Ex.h b/yoRadio/src/audioVS1053/audioVS1053Ex.h index 4c74c7e..e28ccf1 100644 --- a/yoRadio/src/audioVS1053/audioVS1053Ex.h +++ b/yoRadio/src/audioVS1053/audioVS1053Ex.h @@ -186,7 +186,10 @@ private: uint8_t m_rev=0; // Revision uint8_t m_playlistFormat = 0; // M3U, PLS, ASX size_t m_file_size = 0; // size of the file + uint32_t m_audioFileDuration = 0; size_t m_audioDataSize = 0; // + uint32_t m_avr_bitrate = 0; + bool m_localBitrateSend = true; uint32_t m_audioDataStart = 0; // in bytes int m_id3Size=0; // length id3 tag bool m_f_ssl=false; diff --git a/yoRadio/src/core/options.h b/yoRadio/src/core/options.h index b9d6ab5..d05b63e 100644 --- a/yoRadio/src/core/options.h +++ b/yoRadio/src/core/options.h @@ -1,7 +1,7 @@ #ifndef options_h #define options_h -#define YOVERSION "0.8.883" +#define YOVERSION "0.8.901" /******************************************************* DO NOT EDIT THIS FILE. @@ -58,7 +58,7 @@ The connection tables are located here https://github.com/e2002/yoradio#connecti /* TFT DISPLAY */ #ifndef TFT_CS - #define TFT_CS 255 + #define TFT_CS 5 #endif #ifndef TFT_RST #define TFT_RST -1 // Or set to -1 and connect to Esp EN pin diff --git a/yoRadio/src/displays/conf/displayST7735_144conf.h b/yoRadio/src/displays/conf/displayST7735_144conf.h index 96644c3..8227c7d 100644 --- a/yoRadio/src/displays/conf/displayST7735_144conf.h +++ b/yoRadio/src/displays/conf/displayST7735_144conf.h @@ -18,7 +18,7 @@ #define bootLogoTop 68 /* SROLLS */ /* {{ left, top, fontsize, align }, buffsize, uppercase, width, scrolldelay, scrolldelta, scrolltime } */ -const ScrollConfig metaConf PROGMEM = {{ TFT_FRAMEWDT, TFT_FRAMEWDT, 2, WA_LEFT }, 140, true, MAX_WIDTH, 5000, 4, 30 }; +const ScrollConfig metaConf PROGMEM = {{ TFT_FRAMEWDT, TFT_FRAMEWDT, 2, WA_LEFT }, 140, true, MAX_WIDTH, 5000, 3, 30 }; const ScrollConfig title1Conf PROGMEM = {{ TFT_FRAMEWDT, 26, 1, WA_LEFT }, 140, true, MAX_WIDTH, 5000, 2, 30 }; const ScrollConfig title2Conf PROGMEM = {{ TFT_FRAMEWDT, 36, 1, WA_LEFT }, 140, true, MAX_WIDTH-6*3-4, 5000, 2, 30 }; const ScrollConfig playlistConf PROGMEM = {{ TFT_FRAMEWDT, 56, 2, WA_LEFT }, 140, true, MAX_WIDTH, 1000, 4, 30 }; diff --git a/yoRadio/src/displays/conf/displayST7735_blackconf.h b/yoRadio/src/displays/conf/displayST7735_blackconf.h index 4a70b08..bc294ae 100644 --- a/yoRadio/src/displays/conf/displayST7735_blackconf.h +++ b/yoRadio/src/displays/conf/displayST7735_blackconf.h @@ -17,7 +17,7 @@ #define bootLogoTop 68 /* SROLLS */ /* {{ left, top, fontsize, align }, buffsize, uppercase, width, scrolldelay, scrolldelta, scrolltime } */ -const ScrollConfig metaConf PROGMEM = {{ TFT_FRAMEWDT, TFT_FRAMEWDT, 2, WA_LEFT }, 140, true, MAX_WIDTH, 5000, 4, 30 }; +const ScrollConfig metaConf PROGMEM = {{ TFT_FRAMEWDT, TFT_FRAMEWDT, 2, WA_LEFT }, 140, true, MAX_WIDTH, 5000, 3, 30 }; const ScrollConfig title1Conf PROGMEM = {{ TFT_FRAMEWDT, 26, 1, WA_LEFT }, 140, true, MAX_WIDTH-24, 5000, 3, 30 }; const ScrollConfig title2Conf PROGMEM = {{ TFT_FRAMEWDT, 36, 1, WA_LEFT }, 140, true, MAX_WIDTH, 5000, 3, 30 }; const ScrollConfig playlistConf PROGMEM = {{ TFT_FRAMEWDT, 56, 2, WA_LEFT }, 140, true, MAX_WIDTH, 1000, 4, 30 }; @@ -50,7 +50,7 @@ const WidgetConfig bootWdtConf PROGMEM = { 0, 90, 1, WA_CENTER }; const ProgressConfig bootPrgConf PROGMEM = { 90, 14, 4 }; /* BANDS */ /* { onebandwidth, onebandheight, bandsHspace, bandsVspace, numofbands, fadespeed } */ -const VUBandsConfig bandsConf PROGMEM = { 12, 50, 2, 1, 10, 3 }; +const VUBandsConfig bandsConf PROGMEM = { 12, 50, 2, 1, 10, 1 }; const BitrateConfig fullbitrateConf PROGMEM = {{DSP_WIDTH-TFT_FRAMEWDT-19, 23, 1, WA_LEFT}, 22 }; /* STRINGS */ diff --git a/yoRadio/src/displays/conf/displayST7735_miniconf.h b/yoRadio/src/displays/conf/displayST7735_miniconf.h index 003ddca..1805516 100644 --- a/yoRadio/src/displays/conf/displayST7735_miniconf.h +++ b/yoRadio/src/displays/conf/displayST7735_miniconf.h @@ -22,7 +22,7 @@ #define bootLogoTop 68 /* SROLLS */ /* {{ left, top, fontsize, align }, buffsize, uppercase, width, scrolldelay, scrolldelta, scrolltime } */ -const ScrollConfig metaConf PROGMEM = {{ TFT_FRAMEWDT, TFT_FRAMEWDT, 2, WA_LEFT }, 140, true, MAX_WIDTH, 5000, 4, 30 }; +const ScrollConfig metaConf PROGMEM = {{ TFT_FRAMEWDT, TFT_FRAMEWDT, 2, WA_LEFT }, 140, true, MAX_WIDTH, 5000, 3, 30 }; const ScrollConfig title1Conf PROGMEM = {{ TFT_FRAMEWDT, 19, 1, WA_LEFT }, 140, true, MAX_WIDTH-6*3-4, 5000, 3, 30 }; //const ScrollConfig title2Conf PROGMEM = {{ TFT_FRAMEWDT, 36, 1, WA_LEFT }, 140, true, MAX_WIDTH, 5000, 2, 30 }; const ScrollConfig playlistConf PROGMEM = {{ TFT_FRAMEWDT, 33, 2, WA_LEFT }, 140, true, MAX_WIDTH, 0, 3, 30 }; @@ -54,7 +54,7 @@ const WidgetConfig bootWdtConf PROGMEM = { 0, 50, 1, WA_CENTER }; const ProgressConfig bootPrgConf PROGMEM = { 90, 14, 4 }; /* BANDS */ /* { onebandwidth, onebandheight, bandsHspace, bandsVspace, numofbands, fadespeed } */ -const VUBandsConfig bandsConf PROGMEM = { 12, 48, 2, 1, 8, 3 }; +const VUBandsConfig bandsConf PROGMEM = { 12, 48, 2, 1, 8, 1 }; /* STRINGS */ const char numtxtFmt[] PROGMEM = "%d";