Ankündigung

Einklappen
Keine Ankündigung bisher.

OpenKNX-Logikmodul auf Basis Adafruit QT Py SAMD21

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    OpenKNX-Logikmodul auf Basis Adafruit QT Py SAMD21

    Hallo zusammen,

    ich verwende das Logikmodul von mumpf auf einem Adafruit QT Py SAMD21 (Achtung: Amazon Link, aber ohne Werbe-Tag) DEV Board.
    Diese Board hat einen Reset-Taster und eine RGB LED. Ich verwende dabei den Reset-Taster gleichzeitig als Programmierknopf. Dazu prüfe ich beim Boot den Grund für den Reset, wenn mir das CPU-Register sagt, dass der Boot vom Reset Taster kommt, enable ich den Programmiermodus für 60 Sekunden.
    Besser wäre noch, den letzten Status im Flash zu speichern und dann nach jedem Reset den Programmiermodus ein- bzw. auszuschalten.
    Die LED zeigt mehrere Zustände an, sie kann den Programmiermodus anzeigen aber auch aus der Logik verwendet werden.

    Nun würde ich das ganze gerne auch als neue HW-Variante für andere zur Verfügung stellen. Dazu muss ich aber die Logik für den Reset-Taster irgendwo unterbringen. Dazu die Frage, wo wäre das besser aufgehoben, im KNX-Stack oder im Logikmodul?

    #2
    Hi Michael,

    ich bin bei Deinem Projekt etwas hin- und hergerissen. Einen Reset für den Prog-Button zu "missbrauchen" finde ich schon ungewöhnlich. Und üblicherweie bleibt der PROG-Modus auch so lange an, bis er wieder ausgeschaltet wird, entweder durch erneutes drücken des Prog-Button oder durch die ETS.

    Und lohnt das, die Taste und Led einzusparen? Eine BCU braucht man ja trotzdem noch, oder? Andererseits finde ich das durchaus innovativ, da man ja den Prog-Button äußerst selten braucht.

    Wenn Du das zur Verfügung stellen willst, sollte das ins Logikmodul, da der knx-Stack komplett Hardwareunabhängig ist.

    Mach doch mal ein Pull-Request mit dem Coding, bitte auch im ./doc-Verzeichnis eine Beschreibung, an welche Pins dann noch die BCU angeschlossen wird und dann sprechen wir nochmal durch, wo das am besten unterzubgingen ist.

    Gruß, Waldemar


    OpenKNX www.openknx.de

    Kommentar


      #3
      Zitat von mumpf Beitrag anzeigen
      Wenn Du das zur Verfügung stellen willst, sollte das ins Logikmodul, da der knx-Stack komplett Hardwareunabhängig ist.
      Ich würde hier eine Callback Funktion vorsehen, die die Info liefern muss ob ein Reset durch den Button ausgelöst wurde. Wird der Callback registriert, ist der Modus Reset als Prog-Button aktiv. Im KNX Stack würde ich dann die Speicherung dazu bauen die sagt ob der Prog-Mode zuletzt ein oder ausgeschalten wurde. Dann würde sich der Button wirklich wie ein echter Prog-Knopf mit ein- und ausschalten verhalten.
      Der Trick mit dem Callback ist auch nicht neu, sowas gibt es dort jetzt schon und hat den Vorteil dass man sehr flexibel ist. Ich brauche das z.B. auch um die LED am Board nutzen zu können weil die nicht einfach über einen IO-Pin angesteuert wird sonder über einen seriellen Bus.

      Die Implementierung der Callbackfunktion müsste dann irgendwo in einer HW-Abstraktion stattfinden die derzeit im Logikmodul ist.

      Kommentar


        #4
        Zitat von mumpf Beitrag anzeigen
        da der knx-Stack komplett Hardwareunabhängig ist.
        das ist so nicht ganz richtig. Die verschiedenen plattforms im stack machen die hardware abstraktion.
        hier könnte man unterhalb der arduino bzw der samd plattform eine qt py plattform anlegen.

        aber ob man das will ?!
        OpenKNX www.openknx.de | NanoBCU und OpenKNX-HW verfügbar

        Kommentar


          #5
          Zitat von SirSydom Beitrag anzeigen
          das ist so nicht ganz richtig. Die verschiedenen plattforms im stack machen die hardware abstraktion.
          hier könnte man unterhalb der arduino bzw der samd plattform eine qt py plattform anlegen.
          Unter samd plattform würde reichen, das Register zum Auslesen ist ja nur Prozesserbezogen und unabhängig vom Board. Prinzipiell würde das Reset als Prog-Taster auch auf anderen Prozessoren gehen, die meisten haben irgendeine Möglichkeit den Grund des Resets auszulesen.
          Anders sieht es mit der LED-Ansteuerung aus, die ist boardabhängig und die hat so sicher nichts im knx-stack verloren.

          Kommentar

          Lädt...
          X