Achtung: DFMiniMp3 wurde auf v1.0.6 aktualisiert

Mahlzeit,

wie der Titel schon verrät, wurde die DFMiniMp3 Library auf v1.0.6 aktualisiert. Die Arduino IDE bietet euch diese Version nun zum Update an (Neustarter bekommen diese Version natürlich direkt, logo).

An der DEV sind ein paar Änderungen nötig, damit sie weiter kompiliert werden kann. Ich habe einen PR erstellt, der auch schon gemerged wurde. Die nun aktuelle Version der DEV auf GitHub benötigt daher besagte v1.0.6 der DFMiniMp3 Library! Stellt also sicher, daß ihr das Update über die Arduino IDE einspielt.

Wenn ihr die DEV geforked habt, müsst ihr die Änderungen entsprechend nachziehen, damit eure Firmware wieder kompiliert werden kann. Hier nochmal der PR als Referenz:

Kurzer Hinweis in eigener Sache: Meine Firmware ist ebenfalls für diese Library Version aktualisiert worden.

cheers
Stephan

4 „Gefällt mir“

Hallo @stephan
Ich habe das Update bei meiner Version manuell ausgeführt. Funktioniert soweit auch. Was bewirken die Änderungen in der neuen Libery?
Gruß Thomas

Makuna hat Library intern die Behandlung der PlaySource (also SD, USB oder Flash) geändert. Dort gab es einen Hinweis eines anderen Entwicklers. Diese Änderungen haben wiederum eine Änderung an der Mp3Notify Klasse nötig gemacht. Auf den Betrieb des TonUINOs hat das aber im Prinzip keine Auswirkungen - ausser halt das wir die Änderungen nachziehen mußten, was aber ja wie oben beschrieben schon geschehen ist.

kann man bei der arduino ide irgendwie versionsnummern festlegen / hintelegen? platformio ermöglicht das ja, indem man an den namen der benötigten library (in der platformio.ini) einfach ein @1.0.6 anhängt. so kann man zu jedem commit die passenden library-versionen festlegen.

1 „Gefällt mir“

Nein. Du kannst einfach das Update nicht machen oder wieder downgraden. Für die Aktuelle Version der DEV braucht man jetzt aber v1.0.6.

das wäre für mich ja noch so ein grund mehr, auf platformio umzusteigen (neben dem weitaus besseren editor und anderen kleinigkeiten…)

Kannst du haben: https://discourse.voss.earth/t/4714 - allerdings hier noch ohne version pinning. Pull requests welcome.

1000 Dank.

Für alle die nicht so bewandert sind mit dem Thema Bibliotheken aktualisieren, hier eine kleine Schritt für Schritt Anleitung.

Schritt 1: Bibliotheks Verwaltung öffnen, unter Werkzeuge->Bibliotheken verwealten

Bib1

Schritt 2: Die DF Player Bibliothek von Makuna suchen und bei den Versionen, die neuste (1.0.6) auswählen. Dann auf installieren klicken.

2 „Gefällt mir“

@stephan: xfjx:master wurde noch nicht aktualisiert, richtig? Zumindest hagelt es Fehler, wenn man mit der aktuellen Version der DFMiniMp3-Library startet:

In file included from /home/mmartens/Projects/TonUINO/Tonuino.ino:1:0:
2020-05-23T08:12:26.971Z INFO c.a.u.n.HttpConnectionManager:148 [cc.arduino.packages.discoverers.serial.SerialDiscovery] Connect to https://builder.arduino.cc/builder/v1/boards/0x1A86/0x7523, method=GET, request id=4E7968687A1045E0
/home/mmartens/.sketchbook/libraries/DFPlayer_Mini_Mp3_by_Makuna/src/DFMiniMp3.h: In instantiation of 'uint16_t DFMiniMp3<T_SERIAL_METHOD, T_NOTIFICATION_METHOD>::listenForReply(uint8_t) [with T_SERIAL_METHOD = SoftwareSerial; T_NOTIFICATION_METHOD = Mp3Notify; uint16_t = unsigned int; uint8_t = unsigned char]':
/home/mmartens/.sketchbook/libraries/DFPlayer_Mini_Mp3_by_Makuna/src/DFMiniMp3.h:105:27:   required from 'void DFMiniMp3<T_SERIAL_METHOD, T_NOTIFICATION_METHOD>::loop() [with T_SERIAL_METHOD = SoftwareSerial; T_NOTIFICATION_METHOD = Mp3Notify]'
/home/mmartens/Projects/TonUINO/Tonuino.ino:231:14:   required from here
/home/mmartens/.sketchbook/libraries/DFPlayer_Mini_Mp3_by_Makuna/src/DFMiniMp3.h:505:62: error: no matching function for call to 'Mp3Notify::OnPlayFinished(DfMp3_PlaySources, uint16_t&)'
                         T_NOTIFICATION_METHOD::OnPlayFinished(DfMp3_PlaySources_Usb, replyArg);
                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/mmartens/Projects/TonUINO/Tonuino.ino:41:15: note: candidate: static void Mp3Notify::OnPlayFinished(uint16_t)
   static void OnPlayFinished(uint16_t track) {
               ^~~~~~~~~~~~~~
/home/mmartens/Projects/TonUINO/Tonuino.ino:41:15: note:   candidate expects 1 argument, 2 provided
In file included from /home/mmartens/Projects/TonUINO/Tonuino.ino:1:0:
/home/mmartens/.sketchbook/libraries/DFPlayer_Mini_Mp3_by_Makuna/src/DFMiniMp3.h:509:62: error: no matching function for call to 'Mp3Notify::OnPlayFinished(DfMp3_PlaySources, uint16_t&)'
                         T_NOTIFICATION_METHOD::OnPlayFinished(DfMp3_PlaySources_Sd, replyArg);
                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/mmartens/Projects/TonUINO/Tonuino.ino:41:15: note: candidate: static void Mp3Notify::OnPlayFinished(uint16_t)
   static void OnPlayFinished(uint16_t track) {
               ^~~~~~~~~~~~~~
/home/mmartens/Projects/TonUINO/Tonuino.ino:41:15: note:   candidate expects 1 argument, 2 provided
In file included from /home/mmartens/Projects/TonUINO/Tonuino.ino:1:0:
/home/mmartens/.sketchbook/libraries/DFPlayer_Mini_Mp3_by_Makuna/src/DFMiniMp3.h:513:62: error: no matching function for call to 'Mp3Notify::OnPlayFinished(DfMp3_PlaySources, uint16_t&)'
                         T_NOTIFICATION_METHOD::OnPlayFinished(DfMp3_PlaySources_Flash, replyArg);
                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/mmartens/Projects/TonUINO/Tonuino.ino:41:15: note: candidate: static void Mp3Notify::OnPlayFinished(uint16_t)
   static void OnPlayFinished(uint16_t track) {
               ^~~~~~~~~~~~~~
/home/mmartens/Projects/TonUINO/Tonuino.ino:41:15: note:   candidate expects 1 argument, 2 provided
In file included from /home/mmartens/Projects/TonUINO/Tonuino.ino:1:0:
/home/mmartens/.sketchbook/libraries/DFPlayer_Mini_Mp3_by_Makuna/src/DFMiniMp3.h:518:66: error: 'OnPlaySourceOnline' is not a member of 'Mp3Notify'
                         T_NOTIFICATION_METHOD::OnPlaySourceOnline(static_cast<DfMp3_PlaySources>(replyArg));
                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/mmartens/.sketchbook/libraries/DFPlayer_Mini_Mp3_by_Makuna/src/DFMiniMp3.h:523:68: error: 'OnPlaySourceInserted' is not a member of 'Mp3Notify'
                         T_NOTIFICATION_METHOD::OnPlaySourceInserted(static_cast<DfMp3_PlaySources>(replyArg));
                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/mmartens/.sketchbook/libraries/DFPlayer_Mini_Mp3_by_Makuna/src/DFMiniMp3.h:528:67: error: 'OnPlaySourceRemoved' is not a member of 'Mp3Notify'
                         T_NOTIFICATION_METHOD::OnPlaySourceRemoved(static_cast<DfMp3_PlaySources>(replyArg));
                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
exit status 1

Das ist richtig. Es wird empfohlen DEV zu verwenden, weswegen es auch der default branch ist.

Evtl. könnte @Thorsten ja auf seiner Webseite noch mal die genauen Versionen der benötigten Bibliotheken nachtragen um solche Probleme zu vermeiden…

Ist eine dev nicht wie eine nightly anzusehen, und master als final?

So wurde es mir auch immer eingetrichtert: master ist immer der letzte stabile Stand. Denke das ist er ja auch noch, nur die Dependencies sind nicht klar formuliert.

Die DEV ist im Grunde die aktuelle Version. Leider hat das mit dem Mergen auf den Master Branch nicht geklappt, da ihr sonst alle viele 100 MB runterladen müsstet. Ich werde da bald nochmal dran. Aber ich empfehle jedem die DEV zu verwenden.