UL_PIN

Datenelemente

angle Reell (0, 90, 180 und 270)
Kontakt UL_CONTACT (veraltet, siehe Anmerkung)
direction Ganzzahl (PIN_DIRECTION_...)
function Ganzzahl (PIN_FUNCTION_FLAG_...)
Länge Ganzzahl (PIN_LENGTH_...)
Benennen Zeichenfolge (PIN_NAME_LENGTH)
Netto Zeichenfolge (siehe Anmerkung)
Verlauf Ganzzahl (CONTACT_ROUTE_...)
swaplevel int
visible Ganzzahl (PIN_VISIBLE_FLAG_...)
x, y Ganzzahl (Verbindungspunkt)

Loop-Members

circles() UL_CIRCLE
contacts() UL_CONTACT (siehe Anmerkung)
texts() UL_TEXT
wires() UL_WIRE

Siehe auch UL_SYMBOL, UL_PINREF, UL_CONTACTREF.

Konstanten

PIN_DIRECTION_NC Nicht verbunden
PIN_DIRECTION_IN Eingabe
PIN_DIRECTION_OUT Ausgang (Totem-Pole)
PIN_DIRECTION_IO Ein-/Ausgang (bidirektional)
PIN_DIRECTION_OC Open-Collector
PIN_DIRECTION_PWR Leistungsaufnahme-Pin
PIN_DIRECTION_PAS Passiv
PIN_DIRECTION_HIZ Hochohmiger Ausgang
PIN_DIRECTION_SUP Supply-Pin
PIN_FUNCTION_FLAG_NONE Kein Symbol
PIN_FUNCTION_FLAG_DOT Wechselrichtersymbol
PIN_FUNCTION_FLAG_CLK Uhrsymbol
PIN_LENGTH_POINT Keine Linie
PIN_LENGTH_SHORT Linie mit 0.1 Zoll
PIN_LENGTH_MIDDLE Linie mit 0.2 Zoll
PIN_LENGTH_LONG Linie mit 0.3 Zoll
PIN_NAME_LENGTH Max. empfohlene Länge eines Pin-Namens (nur in formatierter Ausgabe verwendet)
PIN_VISIBLE_FLAG_OFF Kein Name gezeichnet
PIN_VISIBLE_FLAG_PAD Pad-Name gezeichnet
PIN_VISIBLE_FLAG_PIN Pin-Name gezeichnet
CONTACT_ROUTE_ALL Muss explizit zu allen Kontakten verlegt werden.
CONTACT_ROUTE_ANY Kann zu einem beliebigen Kontakt verlegt werden.

Anmerkung

Das contacts()-Loop-Member durchläuft die Kontakte, die dem Pin mithilfe des Befehls VERBINDEN zugewiesen wurden. Dies ist der Fall in einem UL_DEVICE-Kontext oder über ein UL_PINREF-Objekt, aber nicht über UL_LIBRARY.symbols(). Wenn dies nicht der Fall ist, ist die Liste leer.

Das contact-Datenelement gibt den Kontakt zurück, der dem Pin mithilfe des Befehls VERBINDEN zugewiesen wurde. Dieses Element ist veraltet. Es funktioniert aus Gründen der Abwärtskompatibilität und solange nur ein Pad mit dem Pin verbunden ist, führt jedoch bei Verwendung mit einem Pin, der mit mehr als einem Pad verbunden ist, zu einem Laufzeitfehler.

Das route-Element ist außerdem nur dann sinnvoll, wenn es eine Beziehung zu den Kontakten gibt, mit denen der Pin verbunden ist. Andernfalls ist der Wert auf 0 gesetzt.

Die Koordinaten (und Layer, im Fall eines SMD) des Kontakts, die vom contact-Datenelement zurückgegeben werden, hängen vom Kontext ab, in dem dieser aufgerufen wird:

Das name-Datenelement gibt immer den Namen des Pins zurück, wie er in der Bibliothek definiert wurde, wobei jedes '@'-Zeichen für Pins mit demselben Namen unverändert bleibt (weitere Informationen finden Sie unter dem Befehl PIN). Das texts-Loop-Member gibt andererseits den Pin-Namen (sofern sichtbar) zurück, wie er im aktuellen Zeichnungstyp angezeigt wird.

Das net-Datenelement gibt den Namen des Netzes zurück, mit dem dieser Pin verbunden ist (nur in einem UL_SCHEMATIC-Kontext verfügbar).

Beispiel

library(L) {
  L.symbols(S) {
    printf("Symbol: %s\n", S.name);
    S.pins(P) {
      printf("\tPin: %s, (%f %f)", P.name, u2mm(P.x), u2mm(P.y));
      if (P.direction == PIN_DIRECTION_IN)
         printf(" input");
      if ((P.function & PIN_FUNCTION_FLAG_DOT) != 0)
         printf(" inverted");
      printf("\n");
      }
    }
  }