EAGLE Help

UL_PIN


Data members

angle real (0, 90, 180 und 270)
contact UL_CONTACT (siehe Anmerkung)
direction int (PIN_DIRECTION_...)
function int (PIN_FUNCTION_FLAG_...)
length int (PIN_LENGTH_...)
name string (PIN_NAME_LENGTH)
net string (siehe Anmerkung)
swaplevel int
visible int (PIN_VISIBLE_FLAG_...)
x, y int (Anschlußpunkt)

Loop members

circles() UL_CIRCLE
texts() UL_TEXT
wires() UL_WIRE

Konstanten

PIN_DIRECTION_NC Not connected
PIN_DIRECTION_IN Input
PIN_DIRECTION_OUT Output (totem-pole)
PIN_DIRECTION_IO In/Output (bidirectional)
PIN_DIRECTION_OC Open Collector
PIN_DIRECTION_PWR Power-Input-Pin
PIN_DIRECTION_PAS Passiv
PIN_DIRECTION_HIZ High-Impedance-Output
PIN_DIRECTION_SUP Supply-Pin

PIN_FUNCTION_FLAG_NONE kein Symbol
PIN_FUNCTION_FLAG_DOT Inverter-Symbol
PIN_FUNCTION_FLAG_CLK Taktsymbol

PIN_LENGTH_POINT kein Wire
PIN_LENGTH_SHORT 0.1-Inch-Wire
PIN_LENGTH_MIDDLE 0.2-Inch-Wire
PIN_LENGTH_LONG 0.3-Inch-Wire

PIN_NAME_LENGTH max. empfohlene Länge eines Pin-Namens (wird nur für formatierte Ausgaben benutzt)

PIN_VISIBLE_FLAG_OFF kein Name sichtbar
PIN_VISIBLE_FLAG_PAD Pad-Name sichtbar
PIN_VISIBLE_FLAG_PIN Pin-Name sichtbar

Siehe auch UL_SYMBOL, UL_PINREF, UL_CONTACTREF

Anmerkung

Das contact Data Member liefert den Contact, der dem Pin durch einen CONNECT-Befehl zugewiesen worden ist. Es kann als boolsche Function verwendet werden um zu prüfen ob dem Pin ein Contact zugewiesen wurde (siehe Beispiel unten).

Die Koordinaten (und der Layer, im Falle eines SMD) des durch das contact Data Member gelieferten Contacts hängen vom Kontext ab, in dem es aufgerufen wird:

Das name Data Member liefert den Namen des Pins immer so, wie er in der Bibliothek definiert wurde, einschließlich eines etwaigen '@'-Zeichens für Pins mit dem gleichen Namen (siehe PIN-Befehl).
Das texts Loop-Member dagegen liefert den Pin-Namen (sofern er sichtbar ist) immer in der Form, wie er im aktuellen Zeichnungstyp dargestellt wird.

Das net Data Member liefert den Namen des Netzes, an das der Pin angeschlossen ist.

Beispiel

library(L) {
  L.symbols(S) {
    printf("Symbol: %s\n", S.name);
    S.pins(P) {
      printf("\tPin: %s, (%d %d)", P.name, P.x, P.y);
      if (P.direction == PIN_DIRECTION_IN)
         printf(" input");
      if ((P.function & PIN_FUNCTION_FLAG_DOT) != 0)
         printf(" inverted");
      printf("\n");
      }
    }
  L.devices(D) {
    D.gates(G) {
      G.symbol.pins(P) {
        if (!P.contact)
           printf("Unconnected pin: %s/%s/%s\n", D.name, G.name, P.name);
        }
      }
    }
  }

Index Copyright © 2005 CadSoft Computer GmbH