Button ohne Funktion

Ich habe Probleme mit den Button.
Außer dem „press“ im Drehencoder scheinen alle anderen ohne Funktion zu sein.
Der zeigt mir im log, so wie es soll, den Bat-Status an.
Der Dreher selbst macht aber auch nichts.
Getestet mit verschiedenen Button und an verschiedenen Pins.

Wo sollte ich da am besten ansetzen?

Mit welcher Hardware arbeitest du?
Welchen Branch benutzt du?
An welchen Pins ist was angeschlossen?

Hi,
die Basis ist ein TTGO T8.
Angeschlossen bzw probiert an 4, 2 und 5 (+Common Ground)
Rev 20210402-2 (sollte also der Master-Branch sein)

  • Hast du GPIOs doppelt belegt?
  • Hast du die Konfiguration passend auf die zugehörigen Buttons gelegt?
  • Hast du den Drehencoder in der Config aktiviert?

Also Fehlerquellen gibt es da ganz viele. Hinsichtlich Buttons sind mir keinerlei Probleme bekannt.

meiner settings.h nach müßte alles korrekt sein:

//########################## MODULES
//#define PORT_EXPANDER_ENABLE 
#define MDNS_ENABLE            
//#define MQTT_ENABLE          
#define FTP_ENABLE             
#define NEOPIXEL_ENABLE        
//#define NEOPIXEL_REVERSE_ROTATION 
#define LANGUAGE 1                  
//#define STATIC_IP_ENABLE          
//#define HEADPHONE_ADJUST_ENABLE   
#define PLAY_MONO_SPEAKER           
#define SHUTDOWN_IF_SD_BOOT_FAILS   
#define MEASURE_BATTERY_VOLTAGE     
//#define PLAY_LAST_RFID_AFTER_REBOOT
//#define USE_LAST_VOLUME_AFTER_REBOOT
#define USEROTARY_ENABLE              
#define BLUETOOTH_ENABLE              
//#define IR_CONTROL_ENABLE   

Wobei mir da gerade auffällt, dass bei mir mqtt im log mitgestartet wird.
Obwohl es hier auskommentiert ist.
Muss ich das auch noch boardspezifisch einstellen?

Für MQTT werden höchstens noch Einstellungen geladen aus dem NVS, auch wenn man es hier deaktiviert hat. Aber laufen tut MQTT dann auf jeden Fall nicht.

Ok, dann poste mal deine boardspezifische Config.

Mqtt solltest du auf jeden Fall über die Weboberfläche noch mal ausschalten, oder einen erreichbaren Broker angegeben haben.
Webradio hatte bei mir auch Aussetzer bis ich Mqtt laufen hatte.

Port 2 ist zum Beispiel an die SD-Karte MISO fest verdrahtet.

Ich selbst habe den TTGo T8 noch nicht getestet bin also nicht sicher ob die
settings-ttgo_t8.h mit HAL = 5 direkt funktioniert.

Das ist tatsächlich ein sehr guter Punkt.
SD_MMC, und das benutzt der TTGO T8 ja (muss in der Config auch aktiviert werden), hat 2 + 14 + 15 fest in Beschlag.

Aber jetzt doch nicht mehr, oder? Das müsste ich zwischenzeitlich durch Runtersetzen des Timeouts doch gefixt haben. Damals war zudem auch MQTT bei dir aktiv.

Nein, das war ganz am Anfang habe seitdem auch den Broker auf dauer laufen, also nicht mehr getestet.

OK. Da sehe ich jetzt auch (erst) die Unterschiede zur conf und der boardspezifischen conf.
Da ich mit der ttgo compiliere haben die Einträge dort vermutlich vorrang?
// Rotary encoder
#ifdef USEROTARY_ENABLE
#define DREHENCODER_CLK 34
#define DREHENCODER_DT 33
#define DREHENCODER_BUTTON 32
#endif

// Control-buttons
#define NEXT_BUTTON 0
#define PREVIOUS_BUTTON 36
#define PAUSEPLAY_BUTTON 39

Das entspricht dann ganz einfach nicht dem How/to:
📗 Was/wie muss verdrahtet werden?
DT beim Drehencoder und die Button komplett.

Das dürfte es erklären. Wird morgen probiert. Danke :slight_smile:

In der Howto steht ja auch nur ein Beispiel.

Der TTGO-T8 ist ja erst vor kurzrm in der Konfiguration mit dazugekommen.
Schaltungen hast findest du auf github

Ja vielleicht muss ich das ändern. Inzwischen sind die boardspezifischen Configs doch recht mannigfalig.

Laufen jetzt alle so weit. Muss nur noch einen 10k Wiederstand zwischensetzen (vermutlich).
Pause und Previous floaten im Dauerfeuer :slight_smile:
Hatte aber gerade keine Zeit mehr. Morgen früh geht es weiter.

Vom Prinzip her würde ich die Button so anschließen.
Also mit Widerstand gegen ground + Pin direkt. Und den anderen Pin gegen 3.3V.
btn