UL_DEVICE

Membres de données

activetechnology chaîne (voir remarque)
surface UL_AREA
description chaîne
headline chaîne
bibliothèque chaîne
libraryurn chaîne (voir remarque)
libraryversion entier (voir remarque)
Nom chaîne (DEVICE_NAME_LENGTH)
empreinte UL_FOOTPRINT (nouveau à partir d’EAGLE 9.1, voir remarque)
préfixe chaîne (DEVICE_PREFIX_LENGTH)
technologies chaîne (voir remarque)
valeur chaîne (« On » ou « Off »)

Membres de boucle

attributes() UL_ATTRIBUTE (voir remarque)
gates() UL_GATE
packages3d() UL_PACKAGE3D

Voir aussi UL_DEVICESET, UL_LIBRARY, UL_PART

Constantes

DEVICE_NAME_LENGTH longueur maximale recommandée d’un nom de composant (utilisée dans la sortie formatée uniquement)
DEVICE_PREFIX_LENGTH longueur maximale recommandée d’un préfixe de composant (utilisée dans la sortie formatée uniquement)

Tous les membres de UL_DEVICE, sauf name et technologies, renvoient les mêmes valeurs que les membres respectifs de UL_DEVICESET où l’objet UL_DEVICE a été défini. Le membre de données name renvoie le nom de la variante de package pour laquelle ce composant a créé à l’aide de la commande PACKAGE. Lorsque vous utilisez le texte de description, n’oubliez pas qu’il peut contenir des caractères de retour à la ligne (\n).

Remarques

La valeur renvoyée par le membre de données activetechnology dépend du contexte dans lequel il est appelé :

Le membre de données footprint renvoie l’encombrement affecté au composant via une commande PACKAGE. Elle peut être utilisée comme fonction booléenne pour vérifier si un encombrement a été affecté à un composant (voir l’exemple ci-dessous). (Notez que le membre de données footprint est nouveau dans EAGLE 9.1. Pour assurer la compatibilité avec les versions antérieures d’EAGLE, le membre de données package est également pris en charge.)

La valeur renvoyée par le membre de données technologies dépend du contexte dans lequel il est appelé :

Le membre de boucle attributes() a un paramètre supplémentaire qui spécifie la technologie pour laquelle les attributs doivent être transmis (voir le deuxième exemple ci-dessous).

Les membres de données libraryurn et libraryversion ne s’appliquent que si cet objet UL_DEVICE provient d’une bibliothèque gérée. Si ce n’est pas le cas, libraryurn est une chaîne vide et libraryversion est défini sur -1.

Exemples

library(L) {
  L.devicesets(S) {
    S.devices(D) {
      if (D.footprint)
         printf("Device: %s, Footprint: %s\n", D.name, D.footprint.name);
      D.gates(G) {
        printf("\t%s\n", G.name);
        }
      }
    }
  }


library(L) {
  L.devicesets(DS) {
    DS.devices(D) {
      string t[];
      int n = strsplit(t, D.technologies, ' ');
      for (int i = 0; i < n; i++) {
          D.attributes(A, t[i]) {
            printf("%s = %s\n", A.name, A.value);
            }
          }
      }
    }
  }