angle | real(0, 90, 180 및 270) |
contact | UL_CONTACT(사용되지 않음, 주 참고) |
direction | int(PIN_DIRECTION_...) |
function | int(PIN_FUNCTION_FLAG_...) |
length | int(PIN_LENGTH_...) |
name | string(PIN_NAME_LENGTH) |
net | string(주 참고) |
route | int(CONTACT_ROUTE_...) |
swaplevel | int |
visible | int(PIN_VISIBLE_FLAG_...) |
x, y | int(연결점) |
circles() | UL_CIRCLE |
contacts() | UL_CONTACT(주 참고) |
texts() | UL_TEXT |
wires() | UL_WIRE |
PIN_DIRECTION_NC | 연결되지 않음 |
PIN_DIRECTION_IN | 입력 |
PIN_DIRECTION_OUT | 출력(토템폴) |
PIN_DIRECTION_IO | 입/출력(양방향) |
PIN_DIRECTION_OC | 오픈 컬렉터 |
PIN_DIRECTION_PWR | 전원 입력 핀 |
PIN_DIRECTION_PAS | 수동 |
PIN_DIRECTION_HIZ | 높은 임피던스 출력 |
PIN_DIRECTION_SUP | 공급 핀 |
PIN_FUNCTION_FLAG_NONE | 기호 없음 |
PIN_FUNCTION_FLAG_DOT | 반전 기호 |
PIN_FUNCTION_FLAG_CLK | 시계 기호 |
PIN_LENGTH_POINT | 와이어 없음 |
PIN_LENGTH_SHORT | 0.1인치 와이어 |
PIN_LENGTH_MIDDLE | 0.2인치 와이어 |
PIN_LENGTH_LONG | 0.3인치 와이어 |
PIN_NAME_LENGTH | 핀 이름의 최대 권장 길이(형식이 지정된 출력에서만 사용) |
PIN_VISIBLE_FLAG_OFF | 이름을 그리지 않음 |
PIN_VISIBLE_FLAG_PAD | 패드 이름을 그림 |
PIN_VISIBLE_FLAG_PIN | 핀 이름을 그림 |
CONTACT_ROUTE_ALL | 모든 접촉으로 명시적으로 라우팅해야 함 |
CONTACT_ROUTE_ANY | 어떤 접촉으로도 라우팅할 수 있음 |
contacts() 루프 멤버는 CONNECT 명령을 통해 핀에 지정된 접촉을 순환합니다. 이는 UL_DEVICE 컨텍스트에서 또는 UL_PINREF를 통해 들어오는 경우에 해당하지만 UL_LIBRARY.symbols()를 통하는 경우는 해당하지 않습니다. 그렇지 않은 경우 리스트가 비어 있습니다.
contact 데이터 멤버는 CONNECT 명령을 통해 핀에 지정된 접점을 반환합니다. 이 멤버는 더 이상 사용되지 않습니다! 이 멤버는 이전 버전과의 호환성을 위해 작동하며, 하나의 패드만 핀에 연결되어야 하지만, 두 개 이상의 패드에 연결된 핀에서 사용하면 런타임 오류가 발생합니다.
또한 route 멤버는 핀이 연결된 접촉과 관계가 있는 경우에만 해당됩니다. 그렇지 않은 경우 값이 0으로 설정됩니다.
contact 데이터 멤버가 반환하는 접촉의 좌표(및 SMD의 경우 도면층)는 다음과 같이 호출되는 컨텍스트에 따라 달라집니다.
name 데이터 멤버는 항상 라이브러리에 정의된 핀의 이름을 반환하며, 이름이 같은 핀의 경우 '@' 문자가 그대로 유지됩니다(자세한 내용은 PIN 명령 참조). 반면 texts 루프 멤버는 현재 도면 유형에 표시되는 것과 동일한 방식으로 핀 이름(표시되는 경우)을 반환합니다.
net 데이터 멤버는 이 핀이 연결된 네트의 이름을 반환합니다(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");
}
}
}