| 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) |
| circles() | UL_CIRCLE |
| contacts() | UL_CONTACT (voir remarque) |
| texts() | UL_TEXT |
| wires() | UL_WIRE |
Voir aussi UL_SYMBOL, UL_PINREF, UL_CONTACTREF
| 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 |
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).
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");
}
}
}