@@ -86,10 +86,7 @@ void Config::init() {
8686 BOOTLOG (" SPIFFS is empty!" );
8787 #else
8888 BOOTLOG (" SPIFFS is missing files. Will attempt to get files from online..." );
89- config.deleteMainDatawwwFile ();
90- getRequiredFiles ();
91- delay (200 );
92- ESP .restart ();
89+ deleteMainDatawwwFile ();
9390 #endif
9491 }
9592 ssidsCount = 0 ;
@@ -1174,12 +1171,12 @@ void Config::deleteMainDatawwwFile() {
11741171 if (requiredFilesCount > 0 ) {
11751172 const char * lastFile = requiredFiles[requiredFilesCount - 1 ];
11761173 char mainfile[64 ];
1177- snprintf (mainfile, sizeof (mainfile), " www/%s" , lastFile);
1174+ snprintf (mainfile, sizeof (mainfile), " / www/%s" , lastFile);
11781175 if (SPIFFS .exists (mainfile)) {
11791176 SPIFFS .remove (mainfile);
11801177 Serial.printf (" [Config] Deleted main www file: %s\n " , mainfile);
11811178 }
1182- snprintf (mainfile, sizeof (mainfile), " www/%s.gz" , lastFile);
1179+ snprintf (mainfile, sizeof (mainfile), " / www/%s.gz" , lastFile);
11831180 if (SPIFFS .exists (mainfile)) {
11841181 SPIFFS .remove (mainfile);
11851182 Serial.printf (" [Config] Deleted main www file: %s\n " , mainfile);
@@ -1188,7 +1185,7 @@ void Config::deleteMainDatawwwFile() {
11881185}
11891186
11901187void cleanStaleSearchResults () {
1191- const char * metaPath = " /data /searchresults.json.meta" ;
1188+ const char * metaPath = " /www /searchresults.json.meta" ;
11921189 if (SPIFFS .exists (metaPath)) {
11931190 File metaFile = SPIFFS .open (metaPath, " r" );
11941191 metaFile.readStringUntil (' \n ' ); // 1st line query
@@ -1200,8 +1197,8 @@ void cleanStaleSearchResults() {
12001197 if (now < 100000000 || (now - fileTime) > 86400 ) {
12011198 Serial.print (" Cleaning stale search results.\n " );
12021199 SPIFFS .remove (metaPath);
1203- SPIFFS .remove (" /data /searchresults.json" );
1204- SPIFFS .remove (" /data /search.txt" );
1200+ SPIFFS .remove (" /www /searchresults.json" );
1201+ SPIFFS .remove (" /www /search.txt" );
12051202 }
12061203 }
12071204 }
@@ -1225,14 +1222,14 @@ void fixPlaylistFileEnding() {
12251222}
12261223
12271224#ifdef UPDATEURL
1228- void Config:: getRequiredFiles () {
1225+ void getRequiredFiles (void * param ) {
12291226 player.sendCommand ({PR_STOP , 0 });
1230- display.putRequest (NEWMODE , UPDATING );
12311227 char localFileGz[64 ];
12321228 char localFile[64 ];
12331229 char tryFile[64 ];
12341230 char tryUrl[128 ];
12351231 for (size_t i = 0 ; i < requiredFilesCount; i++) {
1232+ display.putRequest (NEWMODE , UPDATING );
12361233 const char * fname = requiredFiles[i];
12371234 snprintf (localFileGz, sizeof (localFileGz), " /www/%s.gz" , fname);
12381235 snprintf (localFile, sizeof (localFile), " /www/%s" , fname);
@@ -1247,9 +1244,8 @@ void fixPlaylistFileEnding() {
12471244 snprintf (tryUrl, sizeof (tryUrl), " %s%s" , UPDATEURL , fname);
12481245 }
12491246 Serial.printf (" [ESPFileUpdater: %s] Updating required file.\n " , tryFile);
1250- ESPFileUpdater updater (SPIFFS );
1251- updater.setTimeout (5000 );
1252- ESPFileUpdater::UpdateStatus result = updater.checkAndUpdate (
1247+ ESPFileUpdater* getfile = (ESPFileUpdater*)param;
1248+ ESPFileUpdater::UpdateStatus result = getfile->checkAndUpdate (
12531249 tryFile,
12541250 tryUrl,
12551251 " " ,
@@ -1291,15 +1287,16 @@ void fixPlaylistFileEnding() {
12911287 file = root.openNextFile ();
12921288 }
12931289 }
1290+ delay (200 );
1291+ ESP .restart ();
1292+ vTaskDelete (NULL );
12941293 }
12951294#endif // #ifdef UPDATEURL
12961295
12971296void Config::updateFile (void * param, const char * localFile, const char * onlineFile, const char * updatePeriod, const char * simpleName) {
1298- char startMsg[128 ];
1299- snprintf (startMsg, sizeof (startMsg), " [ESPFileUpdater: %s] Started update." , simpleName);
1300- Serial.println (startMsg);
1301- ESPFileUpdater* updater = (ESPFileUpdater*)param;
1302- ESPFileUpdater::UpdateStatus result = updater->checkAndUpdate (
1297+ Serial.printf (" [ESPFileUpdater: %s] Started update.\n " , simpleName);
1298+ ESPFileUpdater* updatefile = (ESPFileUpdater*)param;
1299+ ESPFileUpdater::UpdateStatus result = updatefile->checkAndUpdate (
13031300 localFile,
13041301 onlineFile,
13051302 updatePeriod,
@@ -1314,7 +1311,7 @@ void Config::updateFile(void* param, const char* localFile, const char* onlineFi
13141311 }
13151312}
13161313
1317- void startAsyncServices (void * param){
1314+ void startAsyncServices (void * param) {
13181315 fixPlaylistFileEnding ();
13191316 config.updateFile (param, " /www/timezones.json.gz" , TIMEZONES_JSON_URL , " 1 week" , " Timezones database file" );
13201317 config.updateFile (param, " /www/rb_srvrs.json" , RADIO_BROWSER_SERVERS_URL , " 4 weeks" , " Radio Browser Servers list" );
@@ -1328,7 +1325,13 @@ void Config::startAsyncServicesButWait() {
13281325 updater = new ESPFileUpdater (SPIFFS );
13291326 updater->setMaxSize (1024 );
13301327 updater->setUserAgent (ESPFILEUPDATER_USERAGENT );
1331- xTaskCreate (startAsyncServices, " startAsyncServices" , 8192 , updater, 2 , NULL );
1328+ if (emptyFS) {
1329+ #ifdef UPDATEURL
1330+ xTaskCreate (getRequiredFiles, " getRequiredFiles" , 8192 , updater, 2 , NULL );
1331+ #endif
1332+ } else {
1333+ xTaskCreate (startAsyncServices, " startAsyncServices" , 8192 , updater, 2 , NULL );
1334+ }
13321335}
13331336
13341337void Config::bootInfo () {
0 commit comments