Named PIN: Unterschied zwischen den Versionen

Aus Ethersex_Wiki
Wechseln zu: Navigation, Suche
Zeile 3: Zeile 3:
 
Anders als die normalen ''Port IO''-ECMD-Befehle sieht '''Named PIN''' symbolische Namen vor, soll heißen man steuert nicht den Pin PD7 an, von dem man wissen muss, dass an diesem beispielsweise das Relais zur Steuerung des Audio-Verstärkers angeschlossen ist, sondern man steuert eben den Pin ''Verstaerker'' an.
 
Anders als die normalen ''Port IO''-ECMD-Befehle sieht '''Named PIN''' symbolische Namen vor, soll heißen man steuert nicht den Pin PD7 an, von dem man wissen muss, dass an diesem beispielsweise das Relais zur Steuerung des Audio-Verstärkers angeschlossen ist, sondern man steuert eben den Pin ''Verstaerker'' an.
  
Die Zuordnung von I/O-Pin und symbolischem Namen erfolgt zur Zeit des Kompilierens, wahlweise via ''menuconfig'' oder durch direktes Bearbeiten der Datei '''core/portio/config'''.  Im Falle des zitierten Beispiels könnte diese Datei so aussehen:
+
Die Zuordnung von I/O-Pin und symbolischem Namen erfolgt zur Zeit des Kompilierens. Es können verschiedene Konfigurationen ausgewählt werden die unter '''pinning/named_pin''' liegen. Diese können entweder direkt im menuconfig editiert werden oder durch direktes bearbeiten der Datei. Um eine neue Konfiguration hinzuzufügen einfach im Ordner pinning/named_pin eine neue Datei hinzufügen, die folgendes Format hat:
  
 
  # PIN | IN/OUT | When active? | Name
 
  # PIN | IN/OUT | When active? | Name

Version vom 21. November 2009, 15:15 Uhr

Named PIN ist eine Abstraktionsschicht über Port IO dem ECMD-Mechanismus zum Ansteuern der I/O-Pins des Mikrocontrollers.

Anders als die normalen Port IO-ECMD-Befehle sieht Named PIN symbolische Namen vor, soll heißen man steuert nicht den Pin PD7 an, von dem man wissen muss, dass an diesem beispielsweise das Relais zur Steuerung des Audio-Verstärkers angeschlossen ist, sondern man steuert eben den Pin Verstaerker an.

Die Zuordnung von I/O-Pin und symbolischem Namen erfolgt zur Zeit des Kompilierens. Es können verschiedene Konfigurationen ausgewählt werden die unter pinning/named_pin liegen. Diese können entweder direkt im menuconfig editiert werden oder durch direktes bearbeiten der Datei. Um eine neue Konfiguration hinzuzufügen einfach im Ordner pinning/named_pin eine neue Datei hinzufügen, die folgendes Format hat:

# PIN | IN/OUT | When active? | Name
#-----+--------+--------------+----------------
PD7     OUTPUT   HIGH           Verstaerker

Zum Ansteuern dieses Pins können nun nachfolgende ECMD-Befehle verwendet werden:

  • pin set Verstaerker on
  • pin set Verstaerker off
  • pin toggle Verstaerker

Wenn die Ansteuerung des Geräts außerhalb des Ethersex invertiert erfolgt, d.h. der Verstärker wird eingeschaltet, wenn der Pin low geht, kann dies in der Konfigurationsdatei entsprechend berücksichtigt werden (einfach LOW statt HIGH schreiben). Dann hat ein pin set Verstaerker on die Folge, dass der Pin PD7 auf LOW gezogen wird.

Mit Named PIN können auch Eingänge verwaltet werden. Dann einfach INPUT anstelle von OUTPUT in der Konfigurationsdatei angeben. Die LOW/HIGH-Logik funktioniert ebenso wie bei Ausgabepins. Abfragen kann man den so eingerichteten Pin schließlich mit pin get MeinEingabepin.