UL_PIN

Membres de données

angle réel (0, 90, 180 et 270)
contact UL_CONTACT (obsolète, voir remarque)
direction entier (PIN_DIRECTION_...)
fonction entier (PIN_FUNCTION_FLAG_...)
longueur entier (PIN_LENGTH_...)
Nom chaîne (PIN_NAME_LENGTH)
net chaîne (voir remarque)
trajectoire entier (CONTACT_ROUTE_...)
swaplevel int (entier)
visible entier (PIN_VISIBLE_FLAG_...)
x, y entier (point de connexion)

Membres de boucle

circles() UL_CIRCLE
contacts() UL_CONTACT (voir remarque)
texts() UL_TEXT
wires() UL_WIRE

Voir aussi UL_SYMBOL, UL_PINREF, UL_CONTACTREF

Constantes

PIN_DIRECTION_NC non connecté
PIN_DIRECTION_IN entrée
PIN_DIRECTION_OUT sortie (mât totémique)
PIN_DIRECTION_IO entrée/sortie (bidirectionnel)
PIN_DIRECTION_OC collecteur ouvert
PIN_DIRECTION_PWR broche d’entrée d’alimentation
PIN_DIRECTION_PAS passif
PIN_DIRECTION_HIZ sortie d’impédance élevée
PIN_DIRECTION_SUP broche d’alimentation
PIN_FUNCTION_FLAG_NONE aucun symbole
PIN_FUNCTION_FLAG_DOT symbole d’inverseur
PIN_FUNCTION_FLAG_CLK symbole d’horloge
PIN_LENGTH_POINT aucun fil
PIN_LENGTH_SHORT fil de 0,1 pouce
PIN_LENGTH_MIDDLE fil de 0,2 pouce
PIN_LENGTH_LONG fil de 0,3 pouce
PIN_NAME_LENGTH longueur maximale recommandée d’un nom de broche (utilisée dans la sortie formatée uniquement)
PIN_VISIBLE_FLAG_OFF aucun nom dessiné
PIN_VISIBLE_FLAG_PAD nom de pastille dessiné
PIN_VISIBLE_FLAG_PIN nom de broche dessiné
CONTACT_ROUTE_ALL doit effectuer le routage vers tous les contacts
CONTACT_ROUTE_ANY peut effectuer le routage vers n’importe quel contact

Remarque

Le membre de boucle contacts() parcourt les contacts s’ils ont été affectés à la broche via une commande CONNECT. C’est le cas dans un contexte UL_DEVICE ou à partir d’un objet UL_PINREF, mais pas via UL_LIBRARY.symbols(). Si ce n’est pas le cas, la liste est vide.

Le membre de données contact renvoie le contact affecté à la broche via une commande CONNECTER. Ce membre est obsolète. Il assure la compatibilité avec les versions antérieures et fonctionne tant qu’une seule pastille est connectée à la broche, mais génère une erreur d’exécution s’il est utilisé avec une broche connectée à plusieurs pastilles.

Par ailleurs, le membre de données route n’a de sens que s’il existe une relation avec les contacts auxquels la broche est connectée. Sinon, la valeur est définie sur 0.

Les coordonnées (et la couche, dans le cas d’un composant monté en surface) du contact renvoyé par le membre de données contact dépendent du contexte dans lequel il est appelé :

Le membre de données name renvoie toujours le nom de la broche tel qu’il a été défini dans la bibliothèque, sans aucune modification, y compris avec tout caractère @ (pour plus de détails, voir la commande PIN). Le membre de boucle texts, en revanche, renvoie le nom de la broche tel qu’il s’affiche dans le type de dessin actif (s’il est visible).

Le membre de données net renvoie le nom du réseau auquel cette broche est connectée (disponible uniquement dans un contexte UL_SCHEMATIC).

Exemple

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");
      }
    }
  }