Page 1 of 1

GPIO Config für ConBridge Multiplexer

Posted: 25 Mar 2021, 08:54
by MaxMueller
Hallo Forum, hallo Kunbus Team,

tl;dr:
  • Wir finden die Stelle nicht, an der im Kunbus Stretch OS der GPIO4 auf Output konfiguriert wird. Kann uns bitte jemand weiterhelfen?
  • Bei welcher Verwendung der ConBridge wird auf TX/RX auf GPIO2/3 umgelegt? Welcher Sinn hat das Ganze? Ist das für das Maker-Set für die ConBridge gedacht?

die ausführliche Version:

Wir haben unsere eigene Linux Distribution auf unseren RevPi's laufen und haben uns aus den Kunbus Repos eigentlich alles mit reingeholt, was wir für wichtig erachtet haben. Nun nutzen wir aber auch die Con M-Bus Module und mussten nach wirklich langer Fehlersuche feststellen, dass der GPIO4 bei uns ein Input ist und kein Output, wie es eigentlich sein soll. Daraus resultiert ein undefinierter Zustand auf dem Eingang des Multiplexers für die serielle Kommunikation auf der ConBridge und der Zufall entscheidet ob es funktioniert oder nicht. Aktuell haben wir uns ein Workaround gebaut aber es gibt sicherlich eine "offizielle" Stelle wo das passiert. Kann uns jemand verraten wo? Wir finden es einfach nicht.

Weiterhin ist bei uns, rein aus Interesse, die Frage aufgekommen, wieso dieser Multiplexer überhaupt existiert? Gibt es schon da Anwendungsfälle? Oder ist der Multiplexer für die Anwender gedacht, die sich mit dem Maker-Set für die ConBridge ihre eigenen Erweiterungen bauen und dann über die GPIO's individuelle Software-Schnittstellen verwenden wollen?

Besten Dank schon mal für die Hilfe!

VG
Max

Screenshot at 08-32-55.png
Screenshot at 08-32-55.png (64.72 KiB) Viewed 10808 times

Re: GPIO Config für ConBridge Multiplexer

Posted: 26 Mar 2021, 15:32
by ->Johannes<-
Hi Max,

schaut euch mal die Beiträge unter den folgenden Links an, eventuell helfen die euch schon weiter.

Pi Brigde Connect: attaching own hardware
piBridge Protocol
GPIO Ansteuerung

Wenn ihr noch fragen habt, lasst es uns wissen.

Grüße
Johannes

Re: GPIO Config für ConBridge Multiplexer

Posted: 31 Mar 2021, 16:05
by MaxMueller
Hi Johannes,

grundsätzlich sind die Links sehr informativ. Vielen Dank. Leider beantwortet mir keiner der Links die Frage, wo im Kunbus OS der GPIO 4 auf Output gesetzt wird. Ich wäre sehr dankbar, wenn uns jemand die Stelle zeigen könnte.

VG
Max

Re: GPIO Config für ConBridge Multiplexer

Posted: 31 Mar 2021, 20:02
by lukas
Der GPIO 4 wird über /boot/dt-blob.bin gesetzt. Den Quelltext davon findest du hier. Hintergrundinfos zur dt-blob.bin sind hier.

Das ist ein Software Workaround für ein Hardware Erratum der Connect-Revision, die vor 1 Jahr eingeführt wurde. Da wurde irrtümlich ein Widerstand rausgenommen. Meine ehemaligen Hardware-Kollegen haben sich damals notiert, dass das in der nächsten Revision behoben wird. Tut mir leid dass ihr da jetzt drübergestolpert seid und das erst umständlich debuggen musstet.

Die Idee von dem Mux war wohl mal, dass man zwei zusätzliche GPIOs auf der ConBridge nutzen kann, falls man die RS-232 Schnittstelle dort nicht braucht. Allerdings ist es glaube ich möglich, das EEPROM von dem FTDI umzukonfigurieren, so dass man die TXD und RXD Pins als GPIO nutzen kann. Dann wäre dieses Feature nutzlos. Mir ist nicht bekannt, dass das jemand schon mal benutzt hat.

Re: GPIO Config für ConBridge Multiplexer

Posted: 01 Apr 2021, 16:15
by MaxMueller
Vielen Dank Lukas. Damit hast du uns sehr geholfen!

Schöne Ostern.

VG
Max

Re: GPIO Config für ConBridge Multiplexer

Posted: 06 Apr 2021, 13:16
by RR4711
lukas wrote: 31 Mar 2021, 20:02 Das ist ein Software Workaround für ein Hardware Erratum der Connect-Revision, die vor 1 Jahr eingeführt wurde. Da wurde irrtümlich ein Widerstand rausgenommen. Meine ehemaligen Hardware-Kollegen haben sich damals notiert, dass das in der nächsten Revision behoben wird. Tut mir leid dass ihr da jetzt drübergestolpert seid und das erst umständlich debuggen musstet.
Könntest Du das etwas näher ausführen? Kann gut sein, daß ich demächst diese Umschaltung auch brauche. Welcher Widerstand?

Re: GPIO Config für ConBridge Multiplexer

Posted: 07 Apr 2021, 18:21
by lukas
RR4711 wrote: 06 Apr 2021, 13:16 Könntest Du das etwas näher ausführen? Kann gut sein, daß ich demächst diese Umschaltung auch brauche. Welcher Widerstand?
Okay dass du als Power-User das Feature gebrauchen kannst, hätte ich mir auch denken können. ;)

Mir wurde gesagt, dass ein Widerstand irrtümlich entfernt wurde, aber ich finde keinen in den Schaltplänen. Das müsste ein Pull-Down an GPIO 4 gewesen sein (also Compute Module Pin 15 oder ConBridge Pin 16). Du kannst aber auch einfach in der dt-blob.bin fest vorgeben, dass der Mux beim Booten auf GPIO-Modus statt RS232-Modus umgeschaltet wird. Dazu musst du in der revpi-connect-dt-blob-overlay.dts auf startup_state = "active" ändern, mittels "make ARCH=arm dtbs" den binären Device Tree erzeugen und nach /boot/dt-blob.bin kopieren.