#define PLAY_LAST_RFID_AFTER_REBOOT

bitte mal testen.
Bei mir geht mit der Version vom 29012023 evtl. schon ältere
#define PLAY_LAST_RFID_AFTER_REBOOT bei Webradio nicht mehr

Ja, das ist ein Folgefehler wegen dem asynchronen WLAN-Start.

Da ich dieses Feature auch sehr vermisst habe, hab ich heute nach einer Lösung gesucht.
Mit ein paar Zeilen kann man sich diese Funktionalität zurückholen.
Ich hoffe ich hab nichts übersehen, aber grundlegend funktioniert es bei mir wie gewünscht.
Hier die Änderungen bzw. Ergänzungen:


2 Zeilen in AudioPlayer.cpp


für copy & paste:

#include "main.h"
gTriedToConnectToHost = true;

3 Zeilen in Wlan.cpp


Hier noch ein Screenshot zum besseren Finden der Stelle!

für copy & paste:

#include "main.h"
if (gPlayLastRfIdWhenWiFiConnected && gTriedToConnectToHost ) {
	gPlayLastRfIdWhenWiFiConnected=false;
  				recoverLastRfidPlayedFromNvs(true);
}

4 hinzufügen und 2 Zeilen ersetzten in main.cpp


für copy & paste:

#include "main.h"

bool gPlayLastRfIdWhenWiFiConnected = false;
bool gTriedToConnectToHost = false;
	void recoverLastRfidPlayedFromNvs(bool force) {
		if (recoverLastRfid || force) {

				gPlayLastRfIdWhenWiFiConnected = !force;

1 Datei neu erstellen (main.h)

#pragma once

extern bool gPlayLastRfIdWhenWiFiConnected;
extern bool gTriedToConnectToHost;

extern void recoverLastRfidPlayedFromNvs(bool force = false);

Viel Freude
Niko

Danke @Niko , funktioniert super. :+1:

Freut mich.
Was ich hier noch vergessen habe, sind an min. 2 Stellen ifdef Anweisungen. Wenn der Code nachher einmal ohne das define „play_last_rfid_after_boot“ compiliert wird, werden compilerfehlermeldungen erscheinen.
Lösung: Entweder diese hinzufügen oder die neu hinzugefügten Zeilen wieder entfernen.
Im neuen dev-branch PR ist das beteits hinzugefügt.