Rotary Encoder TNG Version

Hallo! Erstmal, es ist soo cool, dass mit der V3 wieder richtig Leben hier ist, vielen Dank an alle die da helfen, wir nutzen die Box täglich und ich hoffe, das geht noch so weiter bis der kleine 15 ist :wink:

Ich habe zwei Fragen zur TNG Version

  1. Rotary Encoer
    Im GIT sehe ich, dass dies Teil der Software ist, aber ich finde nirgends eine Doku dazu, nur andere Topics für die 2.1 oder Affenbox. Im Quellcode steht nur etwas für die AIO, funktioniert das also nur und ausschließlich für die AIO? Wenn nein, ist es für die Classic „standardmäßig“ an, und auf welchen Pins? Oder muss ich das #define ändern?
    Zweite Frage dazu, kann ich dann auch irgendiwe den „long Press“ Volume ± abschalten für die 3 Button Variante, da ich ja jetzt den Encoder habe? Würde es reichen die 5Button Variante zu flashen?

  2. Kopfhörer-Buchse
    Auch hierzu finde ich sehr viel Material, aber ob schon etwas dazu für TNG implementiert ist, finde ich nicht. Gibt es da schon etwas in der Firmware?

  3. Ich hab den MH2024k-24SS. Der tut auch soweit, manchmal aber auch nicht. Sollte ich da in den defines etwas zusätzlich aktivieren, oder alles so lassen?

Danke!

Derzeit funktioniert das define für den Rotary-Encoder nur in Verbindung mit der AiO-Plus und muss auch für diese extra aktiviert werden.

Genau. Das Adminmenü funktioniert ja sowohl mit lauter/leiser als auch mit vor/zurück.

Was soll es da geben? Die Umschaltung von Lautsprecher auf Kopfhörer beim Einstecken des Kopfhörers macht die Hardware, da ist die Software egal.

Was heißt das denn? Nicht jedes Chip mit der gleichen Gravur verhält sich komplett gleich. Deshalb reicht nur die Chipbezeichnung nicht. Grundsätzlich würde ich diesen Chip auch erstmal ohne Anpassungen testen. Ob bestimmte Probleme, die du hast, sich mit Softwareanpassungen beheben lassen, lässt sich ohne konkrete Problrme nicht sagen.

Hallo, danke!

Kannst du das für den Rotary-Encoder noch einmal für mich klarstellen. D.h. ohne AIO müsste ich mir das selbst programmieren bzw. aus anderen Codeteilen zusammensuchen. Es gibt da jetzt nichts, was ich nutzen kann?

Aktuell prüft der Code als erstes, ob du eine AiO-Plus als Hardware gewählt hast, ansonsten wird das Feature nicht aktiviert. Zu den Gründen kann dir @Boerge1 vielleicht mehr sagen. Die AiO Plus hat aber deutlisch mehr Speicher. Ich kann mir vorstellen, dass das bei anderer Hardware ein Problem ist.

Zu den Kopfhörern, es gab hier im Forum mal das Feature, dass sich die Lautstärke anpassen lässt, je nachdem was eingesteckt ist. Dafür braucht es ein Signal an einem input.

Ich dachte, eventuell ist das auch schon in die TNG gewandert. Es ist schwierig da einen Überblick zu haben, welche Features es gibt und welche nicht.

@Boerge1 kannst du zu den RotaryEncodern etwas sagen? Im AffenBox-Fork ging es, wenn ich mich richtig erinnere, auch mit der Classic damals.

Simon

Das liegt nicht nicht am Speicher sondern an den HW Interrupts. Nano Every würde auch gehen, habe ich aber noch nicht ausprobiert. Werde ich demnächst mal machen und dann die Datei constants.hpp dafür vorbereiten.

Das Feature gibt es noch nicht bei TNG. Es ist auch schwierig bei den optionalen Features Platz für die Settings vorzusehen. Mal sehen.

Ich hab am Nano schon mehrere Rot. Encoers benutzt, immer mit dieser Library.

Das ging eigentlich problemlos, bin aber jetzt auch nicht tief in der Materie. Oder sind die 2 Interrupts der Nanos schon für etwas anderes benutzt beim Tonuino? Das könnte natürlich sein.

Die beiden HW Interrupt Pins 2 und 3 werden schon für den DF Player gebraucht.

Danke! Eventuell würde ich tatsächlich auf den Every wechseln. Ich kann ja mal testen, ob das funktioniert.

Ich habe den Rotary Encoder mit dem Nano Every getestet und es funktioniert perfekt. Als Pins habe ich D8 (Clk) und D6 (Dt) verwendet und so auch in die Datei constants.hpp eingetragen. Ist schon im Github gemergt

1 „Gefällt mir“

Auf Anregung von DeKi90 habe ich die Implementation des Rotary Encoders weiter verbessert:

  • das funktioniert jetzt auch für den NANO
  • neues optionales Feature: wenn der Encoder nur einen Click innerhalb einer Sekunde gedreht wir, so wird das als vor und zurück interpretiert.

Da der NANO keinen HW Interrupt Pin mehr frei hat, wird eine Timer ISR mit 200 Hz zum Pollen verwendet.

Das ist auf dem Branch issue_173 implementiert.
Über Tester würde ich mich freuen.