Features für die nächste Software Version

Was gibt der Pwm denn als max aus. Ich hab hier LEDs die haben 3,3 V Betriebsspannung. Und um den Vorwiderstand zu berechnen, wäre die max. Ausgangsspannung vielleicht nötig oder?

Der max Pegel ist 5V klar.

genau sowas möchte ich, würde mich die tage dann bei dir melden wenn es an die Programierung geht, bin jetzt gerade dabei die Hardware zu bauen. Falls es ok ist :slight_smile:

Mir ist gerade etwas komisches im aktuellen Quellcode aufgefallen und zwar in der Funktion setupCard().
Hier steht folgendes :

  // Admin Funktionen
  if (myCard.mode == 6)
    myCard.special = voiceMenu(3, 320, 320);

sollte da nicht anstatt

voiceMenu(3, 320, 320);

das stehen ?

voiceMenu(3, 330, 330);

Ich komme da jetzt nur drauf da im “voiceMenu” die “numberOfOptions” auf drei Steht und es im mp3-Ordner keine 321 und 322 mp3´s gibt, dafür aber 330-331 und die 320 für den Einzelmodus genutzt wird.

voiceMenu(int numberOfOptions, int startMessage, int messageOffset,
              bool preview , int previewFromFolder) 

Das kannst du ignorieren. Kommt erst in der nächsten Version.

Hallo Thorsten,

also deine Unterscheidung zwischen Hörbuch- und Hörspielmodus verwirrt mich etwas. Daher habe ich den Hörbuchmodus für meine Zwecke jetzt einfach modifiziert :sweat_smile:

Ich habe in einem Ordner mehrere Folgen eines Hörspiels, jeweils in einer Datei. Ich benutze den Hörbuchmodus, d.h. er merkt sich die Folge. Ich halte die Folgen kurz, so dass es nicht so tragisch ist, wenn er nach dem Ausschalten die Folge wieder von vorne anfängt. Das Umschalten der letzten Folge auf die erste macht er nur beim Drücken des UpButton, nicht wenn die letzte Datei so erreicht wird. Damit endet die Wiedergabe weiterhin automatisch mit der letzten Datei. Dafür musste ich die Funktion nextTrack anpassen. Zusätzlich habe ich einen Sleeptimer eingefügt, damit kann ich die Wiedergabe wahlweise auf 1 oder 2 Stunden begrenzen.

Mfg DS

Apropos: @Thorsten wie weit bist Du? :wink:
Können wir Dir noch beim Testen helfen?
Ich warte noch immer auf meinen Pololu PowerSwitch LV der in der Post steckt.

“fast” fertig :smiley:

Beta kann am WE starten denke ich

3 „Gefällt mir“

ich habe mal den aktuellen Stand meiner Anpassungen in den DEV Branch auf github geladen, bitte noch nicht auf einen echten TonUINO spielen sondern maximal mal auf nem Breadboard probieren…

was gerne schon getestet werden darf:

  • Lautstärke über Admin menu (alle drei buttons gleichzeitig drücken um es zu starten wenn keine Wiedergabe läuft)
  • Spezialmodus Von-Bis (Hörspiel, Album und Party) um in einem Ordner mehrere Alben zu ermöglichen
  • Partymodus hat nun eine Queue und spielt jeden Track nur 1x (dann fängt es wieder von vorne an - Vorteil: man kann nun auch zurück springen!)
1 „Gefällt mir“

Hallo Thorsten, das sieht vielversprechend aus.
Ich sehe, Du hast auch schon einen Shutdown-Timer vorgesehen.
Die Queue für den Party-Modus ist auch super, ich würde dann aber nach einem Durchlauf stoppen, bzw. dies parametrisierbar machen.

Dann lieber parametrisierbar.

Denn Keine party rockt wie ne TonUINO-Party, weil ne TonUINO-Party nicht stoppt. :man_dancing:

1 „Gefällt mir“

Ich dachte eher an das Nerven-Gerüst der Eltern ; )

1 „Gefällt mir“

6 Beiträge wurden in ein neues Thema verschoben: Quellcode Fragen

Hallo @Thorsten,
habe mir Deine neue Beta-Version (2.1) genau angeschaut und hätte drei Fragen:

  1. Den Zufallsgenerator hast Du von A0 auf A7 gelegt, weil A0 wegen dem Pull-Up-Widerstand nicht mehr so “schwankt”?

  2. Im Voice-Menü ist bei Vor und Zurück ein Zeilendreher drin. Beabsichtigt?

    else if (upButton.wasReleased()) {
       if (!ignoreUpButton) {
         returnValue = min(returnValue + 1, numberOfOptions);
         mp3.pause();
         mp3.playMp3FolderTrack(messageOffset + returnValue);
         if (preview) {
           waitForTrackToFinish();
           if (previewFromFolder == 0)
    

UND

else if (downButton.wasReleased()) {
      if (!ignoreDownButton) {
        returnValue = max(returnValue - 1, 1);
        mp3.pause();
        mp3.playMp3FolderTrack(messageOffset + returnValue);
        waitForTrackToFinish();
        if (preview) {
          if (previewFromFolder == 0)
  1. Könnte man die folgenden 3 Button-Pin-Zeilen nicht auch weglassen, da sie über die “Button”-Funktion der externen Bibliothek schon definiert wurden?

    pinMode(buttonPause, INPUT_PULLUP);
    pinMode(buttonUp, INPUT_PULLUP);
    pinMode(buttonDown, INPUT_PULLUP);

Mir sind gerade beim Testen der Beta-Version (2.1) noch drei Kleinigkeiten aufgefallen:

  1. Im Party-Modus wird bei langem Drücken nicht die Track-Nummer, sondern die Queue-Nummer angesagt (also 1,2,3,…)
    Könnte man vll. so lösen:

    if (isPlaying() && myCard.mode != 3)
    mp3.playAdvertisement(currentTrack);
    else if (isPlaying() && myCard.mode == 3)
    mp3.playAdvertisement(queue[currentTrack - 1]);

  2. Der Standby-Timer startet nicht, wenn man den TonUINO nur anschaltet (ohne Karte/Abspielen)

  3. Der Standby-Timer startet im Album-Modus beim letzten Track und Drücken der Up-Taste ungewollt.

Super! Vielen Dank!!!

Habe ich (hoffentlich) gefixt und pushe gleich eine neue Version

Was noch getestet werden darf: Spezial-Modus von-bis und das neue Massenerstellen von Einzelkarten…

1 „Gefällt mir“

Danke Thorsten für die schnellen Fixes!

Punkt 2 (Standby-Timer startet nicht) funktioniert jetzt (er sagt allerdings, dass die Funktion isPlaying() an dieser Stelle noch unbekannt ist.)
Allerdings stoppt jetzt die ganz normale Wiedergabe auch nach der eingestellten Zeit - ich verstehe nur nicht ganz warum??

EDIT: also der Bugfix zu 2. war kontraproduktiv. Den sollten wir zurücknehmen und dafür in das if-Statement
if (myCard.cookie == 322417479 && myCard.folder != 0 && myCard.mode != 0)

noch ein disablestandbyTimer(); einfügen.

Habe nochmal was gefixt… sollte nun passen.

1 „Gefällt mir“

Super, jetzt funktioniert alles was ich zur späten Stunde noch testen konnte.

Das Einzige was mir noch aufgefallen ist, dass jetzt die Lautstärke-Anpassung nicht mehr smooth funktioniert (zumindest während des Abspielens von Musik).
Wenn man länger gedrückt hält, “verhaspelt” sich der Player leicht.
Woran könnte das liegen?

@Thorsten, ich habe auch mal mit der neuen Dev Version getestet, aktueller stand von heute 14:30. Keine Ahnung, ob das hier der richtige Thread ist. Falls nicht, sorry.

Mir ist folgendes aufgefallen:
Beim Konfigurieren einer Karte in einem Modus, der die Auswahl bestimmter Tracks erfordert, muss man sehr vorsichtig mit dem Drücken sein. Drückt mann zu schnell oder zu lange, hängt sich der Player auf. Man muss abwarten bis die Nummer angesagt wurde und der Track spielt, erst dann darf der nächste Tastendruck erfolgen. Wenn man Track 230 bis 250 konfigurieren möchte, nimmt das recht viel Zeit in Anspruch :wink: .

Nachdem eine Karte konfiguriert wurde, der Modus scheint dabei keine Rolle zu spielen, erscheint in der Konsole:

=== writeSettingsToFlash()

Danach passiert nichts mehr under Player liest auch keine Karten mehr ein.
Wenn man die Knöpfe drückt, dann reagiert der Previous Track Knopf noch und es spielt dann der vorherige Track. Die Play/Pause Taste macht nur noch Pause, ohne Debug Ausgabe, aber ein erneuter Druck startet kein Play mehr. Die Next Track Taste reagiert gar nicht.

Das erscheint in der Konsole:

=== writeSettingsToFlash()
Spezialmodus Von-Bis: Album ist aktiv -> vorheriger Track
Spezialmodus Von-Bis: Album ist aktiv -> vorheriger Track
Spezialmodus Von-Bis: Album ist aktiv -> vorheriger Track
Spezialmodus Von-Bis: Album ist aktiv -> vorheriger Track

Ein Reset behebt das Problem und die zuvor programmierte Karte funktioniert dann auch.

Wenn man z.B. die Lautstärkenfunktionen aus dem Admin Menü genutzt hat, tritt das gleiche Problem mit den Knöpfen auf. Hier kann man allerdings einfach eine Karte neu lesen und danach funktionieren die Knöpfe wieder wie sie sollen.

Den Spezialmodus “Massenerstellen von Einzelkarten” habe ich auch getestet (mit 13 Karten - mehr habe ich zur Zeit noch nicht) und konnte keine Probleme feststellen. Nach dem Anlernen der letzten Karte konnte man auch noch Karten lesen. Nicht wie bei dem oben beschriebenen Problem von Admin Menü Funktion 1.

Vielen Dank für deine Entwicklungsarbeit!